sql >> Database >  >> RDS >> PostgreSQL

dblink gebruikt het .pgpass-bestand niet

Nu dan, db_link() wordt uitgevoerd op het backend-serverproces als gebruiker postgres.

Is uw .pgpass bestand op de juiste plaats voor gebruikerspostgres op de databasemachine?

Zo niet, hoe verwacht u dat het gelezen zal worden?

Ik denk dat je iets hebt gemist:

# 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. Oracle SQL - Query 2-tabellen op basis van hun externe sleutels

  2. XML samenvoegen zonder type-casting naar string

  3. Hoe schrijf ik LINQ's .Skip(1000).Take(100) in pure SQL?

  4. Memcache - mysql-resultaten opslaan