[pgsql-jp: 26976] Re: WEBからの排他制御について

Tatsuo Ishii t-ishii @ sra.co.jp
2002年 8月 12日 (月) 12:34:41 JST


石井です.

> 現在apacheとPHPとpostgresにてWEBアプリケーションを
> 作成しています。バージョンに関してはRPMパッケージの
> 最新版を入れています。
>  常時、最低10人程度(最大200人)程度のアクセスを
> 想定しています。
> 本題ですがpostgresへWEBからアクセスすると同一のユー
> ザーからの接続というようになりますよね?(毎回、pg_
> connectの接続情報を代えない限り)

そうですね.

> そこで問題なのが排他制御です。テーブル全体へACCESS 
> EXCLUSIVE MODEで排他制御を掛けますが複数のパソコン
> でWEBからレコードを変更しようとすると同一ユーザーと
> して見えるため、排他制御をかけたユーザーもレコードの変
> 更をしようとするユーザーも同一のユーザーとして見える
> ためレコードの変更ができてしまうということです。

根本的に勘違いされているような気がします.PostgreSQLの排他制御の単位は
ユーザではなくて,セッション(クライアント(この場合apacheプロセス)から
PostgreSQLバックエンドのへの接続)です.もっと言うならトランザクション.

実際に起きている現象を再度確認し,問題を整理し直すことをお勧めします.
--
Tatsuo Ishii



pgsql-jp メーリングリストの案内