Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error server #2

Open
Diamondra-Rabenaivo opened this issue Jul 29, 2024 · 1 comment
Open

Error server #2

Diamondra-Rabenaivo opened this issue Jul 29, 2024 · 1 comment

Comments

@Diamondra-Rabenaivo
Copy link

I've installed the docker image JDBC_FDW and I've run the setup postgres sql Script. It gives me "ERROR: remote server returned an error". I've already copied the jar file in a directory :drivers/postgresql....jar

@AmebaBrain
Copy link
Collaborator

AmebaBrain commented Jul 29, 2024

In the tests/jdbc folder there are two *.jar files are present. When you do repo checkout please make sure that you have git lfs installed locally. If not, you will checkout only hashes of the files.

$ git lfs ls-files
a221c4106b * tests/jdbc/mysql-connector-j-9.0.0.jar
a2644cbfba * tests/jdbc/postgresql-42.7.3.jar

$ ls -lh tests/jdbc/*.jar
-rw-r--r-- 1 user group 2,5M чер  9 04:15 tests/jdbc/mysql-connector-j-9.0.0.jar
-rw-rw-r-- 1 user group 1,1M бер 14 19:41 tests/jdbc/postgresql-42.7.3.jar

If everything is ok with that, then you just execute docker-compose -f tests/postgres_jdbc_compose.yml up -d from the repo root and you should end up with postgres_jdbc_fdw container up and running. You could start psql from within the container and check that 2 foreign servers have been created using jdbc_fdw extension. And for each of these servers there is a foreign table has been created as well.

$ docker exec -it postgres_jdbc_fdw psql postgres postgres
psql (16.3 (Debian 16.3-1.pgdg120+1))
Type "help" for help.

postgres=# \des
           List of foreign servers
    Name    |  Owner   | Foreign-data wrapper 
------------+----------+----------------------
 rfam       | postgres | jdbc_fdw
 rnacentral | postgres | jdbc_fdw
(2 rows)

postgres=# \det
       List of foreign tables
 Schema |     Table     |   Server   
--------+---------------+------------
 public | rfam_taxonomy | rfam
 public | rnacen_xref   | rnacentral
(2 rows)

These are publicibly available postgres and mysql readonly databases. Because they are available over the public internet they have some throttling mechanism implemented. At the time of my tests, one of the queries works without problem, the other one returns an error.

This works

postgres=# select * from rfam_taxonomy limit 10;

But this returns mentioned by you error

postgres=# select * from rnacen_xref limit 10;
ERROR:  remote server returned an error

But if you will have a look onto the container logs, you will see

Exception in thread "Thread-2" org.postgresql.util.PSQLException: FATAL: too many connections for role "reader"
...
2024-07-29 22:11:32.635 UTC [137] ERROR:  remote server returned an error
2024-07-29 22:11:32.635 UTC [137] STATEMENT:  select * from rnacen_xref limit 10;

I.e. there is public access throttling is happening.

But you are right that jdbc_fdw very often returns this generic remote server returned an error message. Which is not too much useful. Current jdbc_fdw version is 0.4.0. I.e. it's in very raw state. And I was observing a few other situations, when it was returning such error. But in all cases, it's not related to this docker image. It's just this extension current code state.

This is one of the main reasons, why I didn't include it yet into all-inclusive datero engine image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants