显然,在每个postgresql服务器安装中默认都会创建一个数据库“ postgres”。谁能告诉我或指出我的用途?
Answers:
似乎它并没有真正定义好的目的。根据文档:
创建数据库集群包括创建数据库数据将在其中驻留的目录,生成共享目录表(属于整个集群而不是任何特定数据库的表)以及创建“ template1”和“ postgres”数据库。
[...]
postgres数据库是默认数据库,供用户,实用程序和第三方应用程序使用。
(来源:http : //www.postgresql.org/docs/current/app-initdb.html)
客户端应用程序连接到Postgres服务器时,必须指定要连接到的数据库。如果您不知道数据库名称(在您所连接的邮政局长所服务的群集中),则可以使用以下命令找到数据库名称列表:
psql -l
运行该命令时,psql连接到服务器并查询pg_database以获取数据库名称列表。但是,由于psql是Postgres客户端应用程序,因此如果不知道至少一个数据库的名称(Catch-22),它将无法连接到服务器。因此,在运行时,psql进行了硬编码以连接到名为“ postgres”的数据库psql -l
,但是在这种情况下,您可以指定模板数据库:
psql -l -d template1
还有数据库template0,这是您弄乱所有其他文件时的安全网。
postgres
数据库或类似的东西。例如,如果您对数据库进行了转储,并带有删除和重新创建应用程序数据库的选项,那么当您尝试还原到同一数据库时,由于连接到您要删除和创建的数据库,它将无法正常工作。
上面的评论问:“如果不使用Postgres数据库,删除它安全吗?” -CMCDragonkai '16 Oct 22在10:37
初始化之后,数据库集群将包含一个名为postgres的数据库,这是公用程序,用户和第三方应用程序使用的默认数据库。数据库服务器本身不需要postgres数据库存在,但是许多外部实用程序都假定它存在。
[注:数据库集群是由运行中的数据库服务器的单个实例管理的数据库的集合。
postgres
如果不使用数据库,删除数据库是否安全?