私はPostreSQLを初めて使用します。私は午前中ずっと、ユーザー ログインが正しく機能するように努めてきましたが、今ではひどくイライラしています。
そのため、OpenGeo ソフトウェア スイートの一部として、バージョン 9.2 の PostGIS データベースを使用しています。私はpostgresユーザーでデータベースにアクセスできましたが、データベースにアクセスできるグループロールとユーザーを作成して、そのデータベースでテーブルを作成し、更新/選択/削除などを行えるようにしたいと考えています。
機能するユーザーを作成でき、そのユーザーでログインできます。グループの役割を作成し、その役割に特権を割り当てることができます。その後、ユーザーをグループの役割に追加すると、ログインできなくなります。
ユーザーpostgresをグループに追加すると、そのユーザーはログインできなくなりました。グループを削除しましたが、ログインできないままです。
今、私は pg_hba.conf でたくさん遊んできました。また、postgres としてログインできるようになりましたが、「信頼」が有効になっている場合に限り、PGAdminIII などのソフトウェアでログインできません。
何がうまくいかないのかについてアドバイスを得て、認証済みログインを再度有効にすることは素晴らしいことです.
pg_hba:
Code:
# Database administrative login by Unix domain socket
local all postgres trust
local all gisadmin trust
# TYPE DATABASE USER ADDRESS METHOD
local all opengeo md5
local all opengeo md5
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all gisadmin localhost trust
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
最後に、SSH トンネル経由でログインできるようにしたいと思います。もともと「postgres」ユーザーでそれを行うことができましたが、グループからそのユーザーを追加および削除したので、できなくなりました。
編集:エラーメッセージ...
正しいパスワードを使用して PGAdmin の SSH トンネル経由でログインすると、「FATAL: password authentication failed for the user ...」というエラーが表示されます。
PGAdmin でパスワードなしで SSH トンネル経由でログインしようとすると、信頼オプションが設定されているときに、「サーバーへの接続エラー: fe_sendauth: パスワードが指定されていません」というエラーが表示されます。
最初のエラーは、SSH と psql を介してローカルにログインするときに引き続き発生しますが、2 番目のエラーはなくなり、ログインできます。
\du+ の出力:
\dg+ の出力