sql >> データベース >  >> RDS >> PostgreSQL

postgresqlのトランザクション同時実行性のテストスクリプト

    LOCK を使用すると、これを自作できます。 テーブル上でトランザクションを設定し、ロックを取得したトランザクションをロールバックしてロックを解除します。 この事前回答 をご覧ください このアプローチの詳細については、そのリンクを参照してください。 3つのpsqlを使用してデモンストレーションしました セッションでは、 psycopg2を使用するPythonスクリプトであるbashコプロセスでそれを行うことも同様に実行可能です。 およびマルチプロセッシング またはスレッド モジュールなど。実行するのはかなり簡単です。 更新 :実際、これは、私がpython3で書いた例です

    より高度なテストについては、PostgreSQLのソースコードを入手し、 src / test / isolationの「isolationtester」ツールを使用してください。 これにより、コマンドの複雑な順序付けを行うレシピを作成できます。 PGXSでのビルドはサポートされていません (そのようなサポートを追加するのはおそらく非常に簡単ですが)したがって、PostgreSQLソースツリー全体をコンパイルする必要がありますが、それは十分に高速です。既存のPostgreSQLに対して実行されるため、コンパイルしたPostgreSQLをインストールする必要はありません。

    src / test / isolation /README アイソレーションテスターツールの詳細については。ドキュメントは内部テストツールであるため、地上では少し薄いですが、既存のテストケースは開始に役立つはずです。ニーズに合わせて自由に改善し、パッチを送信してください:)




    1. Oracleにログバックログを記録すると、方言エラーが発生します

    2. 異なるMySQLデータベース内の複数のテーブル間のアラビア語データ転送は????????を返します新しい値として

    3. 優れたデータベース設計、可変数の属性

    4. コンテナのイメージが最新のものに更新された後、Postgresコンテナが`データベースファイルはサーバーと互換性がありません`でクラッシュします