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. OracleのSYSDATE関数

    2. dBaseサポートがMicrosoftAccessに戻ってきました!

    3. Access2016でレポートをグループ化する方法

    4. MariaDBでのLOCATE()のしくみ