码峰博客 – 码而思

分享积累从此时此刻开始

Postgresql 常见错误整理

无法删除数据库

删除数据库时报错 cannot drop a template database,不能删除的原因应该是创建数据库时以一个模版数据库为模版创建的。

# 删除数据库
postgres=# drop database maptools; 
ERROR:  42809: cannot drop a template database

# 查询该数据库的datistemplate项
postgres=# select datname ,datistemplate from pg_database where datname='maptools';
  datname  | datistemplate 
-----------+---------------
 maptools  | t
(1 row)

# 更新该值为假
postgres=# UPDATE pg_database SET datistemplate=false where datname='maptools';
UPDATE 1

#再次删除成功
postgres=# drop database maptools; 
DROP DATABASE

同步结构

Postgresql 使用 navicat 同步两个数据库的结构时经常会莫名报一些错误,导致同步失败,得删除数据库重新同步

按如下流程操作即可顺利同步

去掉多余的,不需要的同步项

同步一般只需要 表 索引 序列,有自定义函数 或 视图 的要选中相应项目

顺利同步完成

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Index