MySQLでこの問題が発生することはありませんが、PostgreSQLは、なんらかのメンテナンスを行う際には常に苦痛です。
そのため、新しいデータを切り詰めてPostgreSQLサーバー上のデータベースにロードしようとしていますが、通常はアクティブな接続があり、これにより問題が発生します。削除して作成する必要がある特定のデータベースが1つあり、現在アクティブなデータベースではそれを削除できません。
これらはすべて、実行する必要があるスクリプトで設定されます。
私の問題は、アクティブな接続が私を殺し、スクリプトを機能させないことです。この問題を克服する方法の助けが必要です。
接続をDBにロックするか、接続をブロックしますか?どうすればよいですか?私はMySQLを使用しているため、PostgreSQLにはあまり詳しくありません。
ロールの接続制限を設定できます。
ALTER ROLE x SET CONNECTION LIMIT 0;
またはデータベースの場合:
ALTER DATABASE db SET CONNECTION LIMIT 0;
メンテナンス作業が完了したら、接続を無制限にするには、-1
などの以前の値に制限をリセットします。