※ ChatGPTを利用し、要約された質問です(原文:別のサーバーにあるDBに対してSELECTした結果が帰ってこない。)
別のサーバーにあるDBからSELECT結果が帰ってこない
このQ&Aのポイント
別のサーバーにあるDBからSELECTした結果が帰ってこない問題が発生しています。
新しいサーバーへの移行に伴い、SELECT結果の取得に問題が発生しています。
移行前の環境ではSELECT結果が正常に帰ってきていたが、新しい環境では件数が多くなると帰ってこない問題が発生しています。
別のサーバーにあるDBに対してSELECTした結果が帰ってこない。
別のサーバーにあるDBに対してSELECTした結果が帰ってこない。
質問はタイトル通り、別のサーバーにあるDBに対してSELECTした結果が帰ってきません。
あるwebサイトを新しいサーバーに移行する事になりました。
データベースはwebサイトと同じサーバーに準備していたのですが
新しいサーバーに移行する際に別のサーバーに準備する事になりました。
そして新しい環境で動作検証をしていて特に問題なく進んでいたのですが・・・・
旧環境では特に問題なくSELECTした結果が帰ってきていましたが
新しい環境ではデータ取得の際に件数が多くなるとSELECTした結果が帰ってきませんでした。
SELECTした結果は約7000件~30000件のデータを取得するようになっております。
(新しい環境で1000件近くのデータを取得しようとしたら約5分かかりました。)
これはSQL文が悪いのでしょうか、それともphpの設定が悪いのか、postgresqlの設定が
悪いのか特定出来ずに困り果てております。。。
何でも構いませんのでご助言を頂けたら幸いです。
■環境について
□以前の環境
同じサーバー内にphpとpostgresqlがある
Postgresqlのバージョンは8.0.3で、phpのバージョンは5.0.5です。
□現在の環境
別のサーバーにphpとpostgresqlがある
Postgresqlのバージョンは8.1.18で、phpのバージョンは5.1.6です。
■データ取得テーブル
□テーブル名
テストテーブル
□フィールド数
100
(登録時刻フィールドはタイムスタンプ型です)
□SQL文例
Select * From テストテーブル Where 登録時刻フィールド >= 'yyyy-mm-dd'
AND 登録時刻フィールド <= 'yyyy-mm-dd'
お礼
ご回答ありがとうございます。 >>phpとpostgresは同じネットワークにあるんですか? 同じネットワークにあります。 結局原因は、Select処理を行う際、PHPのスクリプトの 使用するメモリサイズが、 サーバで設定しておりました上限値を超えたため、PHPがFATAL ERRORを起こしていました。 PHPスクリプトが使用可能なメモリサイズを増やすことにより正常にSelect処理が行えるようになりました。