我正在尝试使用 postgres(全新安装)在 ubuntu 12.04 版本上运行 django。要使其运行,以前您必须编辑文件/etc/postgresql/9.1/main/pg_hba.conf
。但是,当我查看此版本时,没有/etc/postgresql
目录,并且该目录下/etc/postgresql-common
似乎没有类似的文件。pg_hba.conf
此外,当我听到你这么说的时候,我想做的改变是:
# change
local all all ident
# to
local all all trust
这是正确的吗?我认为我看到它应该改为 peer(而不是 trust),如果正确,为什么?
更新: 这是 postgres 的版本
psql (PostgreSQL) 9.1.3
答案1
事实证明,postgres 在 AWS 版本的 ubuntu 12.04 上安装时出现错误,我收到了大量此类警告
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
当 postgres 尝试安装
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with
pg_createcluster 9.1 main --start
or a similar command (see 'man pg_createcluster').
所以我找到了这个链接,Perl 警告在 Debian 中设置区域设置失败,建议设置适当的环境变量。设置后,运行 pg_createcluster 命令,postgres 服务器即可启动并运行。
答案2
从描述来看服务器包,未安装。
你应该运行:
sudo apt-get install postgresql-9.1
答案3
尝试完全删除 postgresql
sudo apt-get purge postgresql postgresql-*
检查您是否安装了语言环境文件,这有时会在 Ubuntu 服务器上出现错误
sudo apt-get install language-pack-en-base
(替换en
为您的语言代码)
现在再次安装 postgresql 并检查输出中没有任何错误
sudo apt-get install postgresql-9.1
答案4
如果你正在运行 postgres,你可以找到它的基本目录,如下所示:
$ ps aux | grep postmaster
postgres 1167 0.0 0.0 53764 536 ? S Mar29 0:33 /opt/postgres/bin/postmaster -D /data/db/postgres
(在我的例子中,postgres 的基本目录是 /data/db/postgres YMMV)