PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

dblink не използва файла .pgpass

А сега, db_link() ще се изпълнява в процеса на бекенд сървъра като потребител postgres.

Е вашият .pgpass файл на правилното място за потребител postgres на машината с база данни?

Ако не, как очаквате да бъде разчетено?

Мисля, че трябва да сте пропуснали нещо:

# 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да завъртите регистрационните файлове на PgBouncer в Linux/Windows?

  2. DBConcurrency изключение, възникнало при актуализиране с помощта на Dataadapter

  3. Първата и последната стойност на прозоречната функция в един ред в PostgreSQL

  4. Грешка в сокета Postgresql на OSX 10.7.3 при стартиране на syncdb на Django

  5. Разлика в датата на PostgreSQL