Sas*_*ank 3 sql postgresql drop-database
我正在尝试删除 postgres 数据库。但我总是得到一个
还有 1 个其他会话正在使用该数据库
错误。
我尝试使用此命令停止所有会话
select pg_terminate_backend(pid) from pg_stat_activity where datname='my_database';
Run Code Online (Sandbox Code Playgroud)
这是结果
pg_terminate_backend
----------------------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
然后我使用了这个命令
DROP DATABASE my_database;
Run Code Online (Sandbox Code Playgroud)
这是整个错误信息
ERROR: database "my_database" is being accessed by other users
DETAIL: There is 1 other session using the database.
Run Code Online (Sandbox Code Playgroud)
我正在使用 postgres 12。
确保没有用户可以连接到您的数据库(超级用户权限,超级用户仍然可以连接):
ALTER DATABASE mydb CONNECTION LIMIT 0;
Run Code Online (Sandbox Code Playgroud)
强制断开连接到此数据库的所有客户端(数据库所有者权限):
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'mydb';
Run Code Online (Sandbox Code Playgroud)
然后使用 drop 命令删除数据库(数据库所有者权限):
DROP DATABASE mydb;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
539 次 |
| 最近记录: |