1

9.2.3 と 9.2.4 での dblink の動作の違いを観察しています。同一の postgres.conf と pg_hba.conf を持つ 2 つのサーバーがあります。ただし、バージョン 9.2.3 に 1 つ、9.2.4 に 1 つ

9.2.3

pg_hba.conf には

    local   all     dblinkuser      trust

次に、通常のユーザーを使用してデータベースに接続します

    theater_map=# select dblink_connect('dbname=TheaterDB user=dblinkuser password=dbl123');
    dblink_connect 
    ----------------
    OK
    (1 row)

接続に成功。

9.2.4

私のpg_hba.confには上記と同じエントリがあります

    theater_map=> select dblink_connect('dbname=TheaterDB user=dblinkuser password=dbl123');
    ERROR:  password is required
    DETAIL:  Non-superuser cannot connect if the server does not request a password.
    HINT:  Target server's authentication method must be changed.

9.2.4 で pg_hba.conf を次のように変更します。

    local   all     dblinkuser      md5

そしてpostgresを再起動します

    theater_map=> select dblink_connect('dbname=TheaterDB user=dblinkuser password=dbl123');
    dblink_connect 
    ----------------
   OK
   (1 row)

バージョン 9.2.3 と 9.2.4 の間の変更ログを確認しましたが、詳細が見つかりませんでした。

注: 9.2.3 で認証方法を trust から md5 に変更しても違いはなく、引き続き機能します。

4

0 に答える 0