
WEBサーバー「A」とDBサーバー「B」が存在しています。
この時、「A」から「B」への接続をCGIからpsqlをコールすることで行っています。
認証についてはpgpassを利用しているつもりなのですが、
どうもこれが有効になっていないようで、接続ができません。
どうやったら接続できるようになるでしょうか??
皆様のお力をお貸し願えれば幸いです。
pgpassはユーザー「X」が所有者となっておりパーミッションは「600」となっています。また「X」の$HOMEに置かれています。
また、同様のテスト環境が存在するのですが、そちらでの接続はうまくいっています。
もしかしてテスト環境でもpgpassが効いてるわけではなく、別の方法で接続が確立されているということもあるでしょうか?
環境は以下の通りです。
本番サーバー
Linux [サーバー名] 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux
本番DB
Linux [サーバー名].in.[ドメイン] 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux
テストサーバー
Linux [サーバー名] 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux
テストDB
Linux [サーバー名] 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux
Perlは v5.8.0 (perl -v にて確認)
PostgreSQLは 7.4.7 (psql --version にて確認)
No.1ベストアンサー
- 回答日時:
推測ですみませんが。
。いろいろやってみましょう。試しに
1)CGIをキックしたユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
2)psqlで接続する-Uで指定したユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
この回答への補足
> 1)CGIをキックしたユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
CGIをキックするユーザーとなるとアパッチで設定されているnobodyというユーザーになるようなのですが、
このユーザーのホームは「/」となっているようです。
一応そこにおいて試してみました。(所有者root パーミッション600)
・・・結果は失敗でした。
> 2)psqlで接続する-Uで指定したユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
やはりダメでした。
ただ、テストサーバーではこの場所に置かれています。
No.2
- 回答日時:
そうですかぁ。
。。> 1)CGIをキックしたユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
CGIをキックするユーザーとなるとアパッチで設定されているnobodyというユーザーになるようなのですが、
このユーザーのホームは「/」となっているようです。
一応そこにおいて試してみました。(所有者root パーミッション600)
・・・結果は失敗でした。
> 2)psqlで接続する-Uで指定したユーザのホームディレクトリに.pgpassをおいてみてはどうですか??
やはりダメでした。
ただ、テストサーバーではこの場所に置かれています。
本当に憶測ですみませんが、-Uで指定したユーザのホームディレクトリに.pgpassを配置したあと、PostgreSQLを再起動してもだめですかねぇ・・・。
とりあえず以下のような方法で解決しましたので、ひとまず質問は締め切らせていただきます。
いろいろとアドバイスいただきありがとうざいました。
my $command = 'echo [パスワード] | psql -h [ホストIP] -U [ユーザー] -c "select * from test" |'
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxサーバーのパーティション・ディレクトリの推奨見積もりについて 3 2023/01/17 00:46
- UNIX・Linux raspberrypi に bluealsaを入れようにも見つからない 1 2023/02/04 10:55
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
- VPN VPNに接続すると、インターネットに接続できなくなります。 1 2022/06/19 22:51
- UNIX・Linux LINUXでのパーティション追加について 1 2022/12/09 11:15
- UNIX・Linux ubuntuサーバーを久々に再起動したらネットにつながらなくなった。 1 2022/06/06 16:21
- UNIX・Linux Zabbix監視エージェントをインストールしてもデータを収集できずアクティブにならない 1 2023/02/26 20:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgresにクライアントpcか...
-
odbc接続処理が遅い
-
psql 使用時に自動 commit を無...
-
ODBCタイムアウトエラー
-
Common SQL Environment で接続...
-
windows版postgresql 異なるバ...
-
postgresqlの接続ポート5432か...
-
postgresqlでのトランザクショ...
-
Universalインストーラが勝手に...
-
Oracle9iを再インストールす...
-
検索で濁点や半濁点をヒットさ...
-
アンインストール時がうまくい...
-
Oracle-Perlの接続
-
booleanデータのcsv出力形式
-
postgresqlの国際化言語のサポ...
-
Npgsql.dllをバージョン指定で...
-
accessのレコードデータをPostg...
-
PostgreSQLでのスーパーユーザ削除
-
Cプログラミング内でのPostgre...
-
Crystal Report for VB
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
odbc接続処理が遅い
-
pgpassが有効にならない?
-
postgresにクライアントpcか...
-
「Oracle ODBCドライバ接続」 ...
-
psql 使用時に自動 commit を無...
-
ODBCタイムアウトエラー
-
PostgresSQLの同時接続数
-
サーバに接続できません・・・
-
postgreSQLのアクセス制御について
-
phpmyadminで作成したデータベ...
-
PostgresSQL のodbcドライバー...
-
PostgreSQLをVS2005から利用したい
-
postgresqlの接続ポート5432か...
-
windows版postgresql 異なるバ...
-
postgresqlでのトランザクショ...
-
PostgreSQL14.6のSSL対応について
-
PostgreSQLで"pg_dumpall -f da...
-
PostgresqlをインストールするP...
-
Windows10がインストールできま...
-
大至急!mdfファイルの中身を見...
おすすめ情報