我正在跟进这些说明,但我只能到达步骤 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 用户执行以下步骤
passwd postgres
- 你的密码su postgres
psql
- 使用您的用户名创建用户,例如
CREATE USER SAM ;
create database sam;
- 注销并输入
psql <your_user>