DBモデルがあり、フィールドA、B、C、D、Eがある場合は、モバイルクライアントがモデルにアクセスしてフィールド "D"のエントリの値を読み取ると同時に、サーバが同じエントリ/レコードのフィールド "E" を更新した場合、何が起こるかと思います。私は起こると思う?書き込みと読み取りの両方が問題なく行われますか?Postgres DBエントリ:1人のユーザが書き込み、別のユーザが書き込みますか?
申し訳ありませんが、私は正しい用語を使用していません。
ご協力いただければ幸いです!
DBモデルがあり、フィールドA、B、C、D、Eがある場合は、モバイルクライアントがモデルにアクセスしてフィールド "D"のエントリの値を読み取ると同時に、サーバが同じエントリ/レコードのフィールド "E" を更新した場合、何が起こるかと思います。私は起こると思う?書き込みと読み取りの両方が問題なく行われますか?Postgres DBエントリ:1人のユーザが書き込み、別のユーザが書き込みますか?
申し訳ありませんが、私は正しい用語を使用していません。
ご協力いただければ幸いです!
一般的にyesです(問題がなければ読み書きが行われます)。ただし、予想される動作は、locking strategyとisolation levelsに大きく依存します。選択したデフォルトの分離レベルはです。コミットされています。 ...これは、「SELECTクエリでは、クエリが実行された瞬間のデータベースのスナップショットが表示されます」という意味です。
これは理想的な状況です。スタンドアロンサーバではなく、複数のセッションを実行するpostgreSQLでは、これは次の点をチェックすることで処理できます。
ロック:http://www.postgresql.org/docs/current/static/transaction-iso.html