为啥我的新 PostgreSQL 数据库不为空?

Posted

技术标签:

【中文标题】为啥我的新 PostgreSQL 数据库不为空?【英文标题】:Why is my new PostgreSQL database not empty?为什么我的新 PostgreSQL 数据库不为空? 【发布时间】:2014-08-29 09:45:57 【问题描述】:

每当我从 pgAdmin 或使用命令行(使用 CREATE DATABASE database_name)创建新数据库时,它都不是空的。

它包含一些表格,这些表格是我之前参与的项目的一部分。

我对 Psql 还不是很熟悉,所以我不知道自己做错了什么。

【问题讨论】:

【参考方案1】:

您可能已经在数据库template1 中创建了对象。

Quote from the manual:

默认情况下,将通过克隆标准系统数据库模板1来创建新数据库。可以通过编写模板名称来指定不同的模板。特别是,通过编写 TEMPLATE template0,您可以创建一个只包含您的 PostgreSQL 版本预定义的标准对象的原始数据库。如果您希望避免复制可能已添加到模板 1 的任何本地安装对象,这将非常有用。

因此,当您运行 create database 时,template1 数据库中的所有内容都将被复制到新数据库中。

连接到template1 数据库并删除所有不需要的对象。

【讨论】:

谢谢你!做到了。我似乎找不到要问谷歌的正确问题。非常感谢!

以上是关于为啥我的新 PostgreSQL 数据库不为空?的主要内容,如果未能解决你的问题,请参考以下文章

选择性过滤列值不为空的行 PostgreSQL

通过 Flyway SQL 脚本为 PostgreSQL 中新创建的列设置不为空

为啥 PostgreSQL 中的新用户可以连接到所有数据库?

为啥在获取 Users.ToListAsync() 不为空时会出现 SqlNullException

当堆栈仍然有元素时,为啥会跳过“如果堆栈不为空”条件?

scala - 为啥map.size在地图不为空时返回0