PostgreSQL 42P04: duplicate_database 报错 故障修复 远程处理
文档解释
42P04: duplicate_database
错误说明:
PostgreSQL 错误42P04:重复数据库,指的是当你试图创建或者恢复数据库时,系统发现已存在同名数据库。此错误通常发生在你开发的数据库服务器上,尝试去连接并复制一个数据库到你的正式数据库服务器上。
常见案例
此错误的最常见的案例,是某人尝试用复制的方式,在该机器上创建数据库,而忽略了该机器上已经有这个名字的数据库;因此,就会返回这个错误提示。另一种可能,就是同一台机器上,有两个实例(Instances)拥有同一个数据库。
解决方法:
1. 检查是否有同名的数据库
首先,使用\list或者\l命令来检查是否有同名的数据库存在。
2. 试图删除已存在的重复数据库
在检查完毕后,使用命令窗口,试图先删掉已存在的重复数据库;使用DROP DATABASE 数据库名;来删除原有重复数据库。
3. 更改数据库名称
如果无法删除,则需要更改该数据库的名称,将新数据库设置为其他名称,以免两者重复。此时需要使用ALTER DATABASE 命令进行处理。
4. 同时解决多个实例对同一数据库的操作
如果发现存在多个实例处理同一数据库的情况,最佳的解决方法就是先关闭所有实例,然后重新启动,尽量将实例分散开来。