sql >> Databasteknik >  >> RDS >> PostgreSQL

dblink använder inte .pgpass-filen

Nu då, db_link() kommer att köras på backend-serverprocessen som användare postgres.

Är ditt .pgpass fil på rätt plats för användarens postgres på databasmaskinen?

Om inte, hur förväntar du dig att den ska läsas?

Jag tror att du måste ha missat något:

# 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. Vad motsvarar varchar(max) i Oracle?

  2. Hur tvingar man fram pascal-fall med Oracles Entity Framework-stöd?

  3. MySQL-infogning vid dubblettuppdatering för icke-PRIMÄR nyckel

  4. bilden hämtas inte från databasen med sökväg