安装postgresql。为什么initdb不可用?

安装postgresql。为什么initdb不可用?

我正在跟进这些说明,但我只能到达步骤 17.2。

尽管通过以下方式成功安装了 postgresql

sudo apt-get install postgresql

命令,运行时

initdb -D /usr/local/pgsql/data

Ubuntu 告诉我“initdb”未安装。说明告诉我此命令由

sudo apt-get install postgresql

那么到底是怎么回事?我可以通过安装 postgres-xc 来使 initdb 可用,但我认为 postgres-xc 只是一些奇怪的第三方垃圾,而且说明中没有详细说明。有什么想法吗?

答案1

您将initdb在下面找到/usr/lib/postgresql/x.y/bin/。另请参阅/usr/share/doc/postgresql-common/README.Debian.gz有关 Debian 和 Ubuntu 上的设置的更多信息。

答案2

initdb旨在在安装期间创建的 postgres 用户帐户下运行。安装 postgresql 后,您可以执行以下操作:

sudo su - postgres

然后你就可以运行了initdb

答案3

initdb未作为用户可执行文件安装。仅安装在 中/usr/lib/postgresql/X.X/bin/,因为它始终取决于版本。initdb只能从该特定目录执行。

正如其他答案中提到的,postgres 的安装会创建一个默认目录,该目录可能位于有限的分区中。用户可能想要更改此设置,但这也需要其他步骤。请参阅这里

答案4

使用 root 用户执行以下步骤

  1. passwd postgres- 你的密码
  2. su postgres
  3. psql
  4. 使用您的用户名创建用户,例如CREATE USER SAM ;
  5. create database sam;
  6. 注销并输入psql <your_user>

相关内容