dar*_*ios 61 database postgresql
显然,每个postgresql服务器安装都默认创建一个数据库"postgres".谁能告诉我或指出我用它的文件?
小智 83
当客户端应用程序连接到Postgres服务器时,它必须指定要连接到哪个数据库.如果您不知道数据库的名称(在您连接的postmaster服务的集群内),您可以使用以下命令找到数据库名称列表:
psql -l
Run Code Online (Sandbox Code Playgroud)
运行该命令时,psql连接到服务器并查询pg_database以获取数据库名称列表.但是,由于psql是Postgres客户端应用程序,因此如果不知道至少一个数据库的名称,它就无法连接到服务器:Catch-22.因此,psql被硬编码为在运行时连接到名为"postgres"的数据库psql -l
,但在这种情况下您可以指定模板数据库:
psql -l -d template1
Run Code Online (Sandbox Code Playgroud)
sle*_*ske 34
它似乎并没有真正明确的目的.根据文件:
创建数据库集群包括创建数据库数据所在的目录,生成共享目录表(属于整个集群而不是任何特定数据库的表),以及创建"template1"和"postgres"数据库.
[...]
postgres数据库是一个默认数据库,供用户,实用程序和第三方应用程序使用.
(来源:http://www.postgresql.org/docs/current/app-initdb.html)
Fra*_*ens 32
当你搞砸所有其他人时,还有数据库template0,你的安全网.
小智 5
上面的评论问:“如果不使用Postgres数据库,删除它安全吗?” -CMCDragonkai '16 Oct 22在10:37
初始化之后,数据库集群将包含一个名为postgres的数据库,这是公用程序,用户和第三方应用程序使用的默认数据库。数据库服务器本身不需要postgres数据库存在,但是许多外部实用程序都假定它存在。
[注:数据库集群是由运行中的数据库服务器的单个实例管理的数据库的集合。