sql >> Databáze >  >> RDS >> PostgreSQL

dblink nepoužívá soubor .pgpass

Nyní tedy db_link() bude spuštěn na procesu backendového serveru jako uživatel postgres.

Je váš .pgpass soubor na správném místě pro uživatele postgres na databázovém počítači?

Pokud ne, jak očekáváte, že se bude číst?

Myslím, že vám muselo něco uniknout:

# 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. MySQL casting -1 vrací 18446744073709551615

  2. Shromažďování přírůstkových statistik v 11g

  3. Django syncdb funguje v SQLite, selhává v MySQL

  4. Nastavení trvalých dat pro Carto/Postgresql na ACI