![postgresql 默认情况下有一个名为“postgres”的数据库吗?](https://linux22.com/image/123229/postgresql%20%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E6%9C%89%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%E2%80%9Cpostgres%E2%80%9D%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%90%97%EF%BC%9F.png)
从http://suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/firstconnect.html, 它说:
从 postgres 用户帐户运行 psql 命令:
sudo -u postgres psql postgres
第一个是否postgres
意味着psql
将由用户运行postgres
?
第二个是什么postgres
意思?
psql
给出的联机帮助页
SYNOPSIS
psql [option...] [dbname [username]]
第二个是postgres
数据库名称吗?
postgresql 默认情况下是否有一个名为 的数据库 postgres
以及一个名为 的用户postgres
?
谢谢。
答案1
来自 sudo 文档:
-u user, --user=user
Run the command as a user other than the default target user (usually root).
来自(PostgreSQL)initdb
文档:
创建数据库集群包括创建数据库数据所在的目录、生成共享目录表(属于整个集群而不是任何特定数据库的表)以及创建 template1 和 postgres 数据库。
和
-U 用户名 --用户名=用户名
选择数据库超级用户的用户名。默认为运行 initdb 的有效用户的名称。超级用户的名称实际上并不重要,但人们可能会选择保留惯用名称 postgres,即使操作系统用户的名称不同。
从psql
您引用的文档中您可以看到,除了选项之外,您还可以使用数据库名称或数据库名称和用户名来调用它
如果您不提供数据库名称,它会尝试连接到当前正在运行的用户的名称的数据库名称psql
,如文档中所述:
默认用户名是您的操作系统用户名,默认数据库名称也是如此。