我在PostgreSQL中有一個腳本,它每天晚上從轉儲中恢復測試數據庫。數據庫由應用程序服務器和進程使用連接池進行訪問,該連接池始終保持一些連接。PostgreSQL:暫時禁用連接
所以腳本恢復轉儲到my_temp_database
。那麼它應該重命名my_database
至my_old_database
,my_temp_database
至my_database
,並最終下降my_old_database
。
如何從my_database
斷開所有客戶端,超級用戶或不是,以便它可以重命名?我該如何暫時阻止他們重新連接?
有沒有更好的方法來做我所需要的?
哈,我希望它在8.3的工作。 – 2010-07-07 14:06:33
在8.3中,您可以嘗試'從pg_stat_activity選擇pg_terminate_backend(pid);' – 2015-03-12 12:25:20
@araqnid命令「update pg_database set datallowconn = false where datname ='applogs';」奇蹟般有效! 「REVOKE CONNECT ON DATABASE」不適用於我!向上!向上!向上!向上!向上!向上! – 2017-07-19 20:59:41