sql >> Database teknologi >  >> RDS >> PostgreSQL

dblink bruger ikke .pgpass-filen

Så, db_link() vil køre på backend-serverprocessen som bruger postgres.

Er dit .pgpass fil på det rigtige sted for brugerens postgres på databasemaskinen?

Hvis ikke, hvordan forventer du, at den bliver læst?

Jeg tror, ​​du må have gået glip af noget:

# ls -l /var/lib/postgresql/.pgpass 
-rw------- 1 root root 79 Jun 24 08:10 /var/lib/postgresql/.pgpass

(meanwhile, in psql...)
dblinklocal=# SELECT dblink_connect('conn1', 'hostaddr=127.0.0.1 port=5432 dbname=dblinkremote user=testuser');
ERROR:  could not establish connection
DETAIL:  fe_sendauth: no password supplied

# chown postgres:postgres .pgpass
dblinklocal=# SELECT dblink_connect('conn1', 'hostaddr=127.0.0.1 port=5432 dbname=dblinkremote user=testuser');
 dblink_connect 
----------------
 OK
(1 row)



  1. Sådan opretter du forbindelse til en MySQL- eller MariaDB-database

  2. MariaDB DEFAULT() Forklaret

  3. JPA sammensat primær nøgle

  4. hvad er den rigtige måde at konvertere mellem mysql datetime og python timestamp?