- 締切済み
PostgreSQL LOCK TABLE
はじめまして、小澤と申します。 PostgreSQL はあまり使う機会が無かったので、 実務期間数か月の初心者です。 数年前に作成されたサイトのメンテナンスをしております。 本番環境の DB は、更新することが出来ないので、 ローカルに開発環境を作って、修正作業を行っています。 本番環境と開発環境の、PostgreSQL のバージョンの違いによって 困っています。 PHP で、「LOCK TABLE ~ 」という処理があるのですが、 本番環境は問題なく実行できますが、開発環境で、下記のエラーがでます。 SQL エラー: ERROR: LOCK TABLEはトランザクションブロック内でのみ使用できます LOCK TABLE をトランザクションの BEGIN と COMMIT の中に 入れなさい、ということおt思います。 本番環境は、Linux バージョンは 7.3.4 開発環境の、Windows バージョンは 8.4.4 7.3.4 の頃には、トランザクション処理が無かったのか、 LOCK TABLE との関係が定義されてなかったのかもしれません。 開発環境の PostgreSQL のバージョンを 7.3.4 にしようと思い、 探したのですが、Windows 版はもう無いようです。 下記のことを教えて下さい。 1.開発環境の PostgreSQL の設定で、このエラーを出ないようにする 方法はないでしょうか。 2.Windows 版の PostgreSQL のバージョンを 7.3.4 が、 どこかにないでしょうか。 尚、ソースにトランザクション処理を追加するという方法も考えましたが、 修正箇所が多いので、難しいです。 メーリングリストにも出してます。マルチキャストですみません。 以上、宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
補足
私、Linux サーバーのことは殆んど分かりません。 Windows の環境で開発し、Linux にアップして運用ということをしています。 Vmware Player を調べ、使ってみたいと思います。 尚、質問した件は、Windows 用の PostgreSQL を バージョンは 8.2.2 にしたら、 エラーが出なくなりましたので、解決とさせていただきます・