修改数据库名称
背景:有时有备份数据库,有时修改其名字加上日期之类的
环境说明
- 数据库版本:11.9
- 部署环境:centos 7 ,docker
- 工具:DBeaver 22
修改条件
具备3个条件:
- 使用管理员postgres 或者 数据库owner 登录;
- 无其他用户连接(即需要先断开所有连接);
- 当前连接的数据库,非该数据库(切换其他默认数据库);
执行操作
在dbeaver切换其他数据库作为默认数据库(关键)
然后执行(以将db_old 改名为db_new为例):
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
WHERE datname= ‘db_old’ AND pid<>pg_backend_pid();
ALTER DATABASE db_old RENAME TO db_new;
说明:
这两行sql语句需同时执行
第一行表示断开所有连接
第二行修改数据库名称