PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

dblink không sử dụng tệp .pgpass

Bây giờ, db_link() sẽ chạy trên quy trình máy chủ phụ trợ với tư cách là người dùng postgres.

.pgpass của bạn tập tin vào đúng vị trí cho postgres của người dùng trên máy cơ sở dữ liệu?

Nếu không, bạn mong đợi nó sẽ được đọc như thế nào?

Tôi nghĩ rằng bạn chắc hẳn đã bỏ lỡ điều gì đó:

# 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. Tìm kiếm toàn văn bản Postgresql cho ngôn ngữ Séc (không có cấu hình ngôn ngữ mặc định)

  2. Bạn có thể tạo chỉ mục trong định nghĩa TẠO BẢNG không?

  3. Làm thế nào để sử dụng cài đặt biến trong các chức năng kích hoạt?

  4. lỗi sql chung

  5. Không thể tìm thấy thư viện máy khách PostgreSQL (libpq)