启动几乎默认的 PostgreSQL 时出现空错误

启动几乎默认的 PostgreSQL 时出现空错误

当尝试启动 PostgreSQL 时,我收到此“空”错误消息:

root@mountain-lion:/home/ubuntu# service postgresql start
 * Starting PostgreSQL 9.1 database server
 * Error: could not exec /usr/lib/postgresql/9.1/bin/pg_ctl /usr/lib/postgresql/9.1/bin/pg_ctl start -D /vol/postgres -l /var/log/postgresql/postgresql-9.1-main.log -s -o  -c config_file="/etc/postgresql/9.1/main/postgresql.conf" : 

这是全新安装的 Ubuntu 11.10 服务器(在 EC2 / Scalarium 上),postgresql-9.1刚刚通过 安装apt-get

postgresql.conf 中有一个更改配置值:

data_directory = '/vol/postgres'

/vol/postgres看起来像这样

drwx------ 5 postgres postgres   38 2012-05-18 15:13 base
drwx------ 2 postgres postgres 4096 2012-05-18 15:13 global
drwx------ 2 postgres postgres   17 2012-05-18 15:12 pg_clog
drwx------ 4 postgres postgres   34 2012-05-18 15:12 pg_multixact
drwx------ 2 postgres postgres   17 2012-05-18 15:13 pg_notify
drwx------ 2 postgres postgres    6 2012-05-18 15:12 pg_serial
drwx------ 2 postgres postgres   24 2012-05-18 15:13 pg_stat_tmp
drwx------ 2 postgres postgres   17 2012-05-18 15:12 pg_subtrans
drwx------ 2 postgres postgres    6 2012-05-18 15:12 pg_tblspc
drwx------ 2 postgres postgres    6 2012-05-18 15:12 pg_twophase
-rw------- 1 postgres postgres    4 2012-05-18 15:12 PG_VERSION
drwx------ 3 postgres postgres   58 2012-05-18 15:12 pg_xlog
-rw------- 1 postgres postgres  133 2012-05-18 15:13 postmaster.opts
lrwxrwxrwx 1 root     root       36 2012-05-18 15:13 server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem
lrwxrwxrwx 1 root     root       38 2012-05-18 15:13 server.key -> /etc/ssl/private/ssl-cert-snakeoil.key

任何想法?

更新:当我设置data_directory为默认值(/var/lib/postgresql/9.1/main)时,它运行正常,因此那个特定的更改一定有问题。

答案1

已修复。首先,我将 的所有者更改/vol/postgrespostgres(在问题评论之后)。这导致了以下可以理解的错误:

 * The PostgreSQL server failed to start. Please check the log output:
2012-05-25 07:50:13 GMT FATAL:  data directory "/vol/postgres" has group or world access
2012-05-25 07:50:13 GMT DETAIL:  Permissions should be u=rwx (0700).

所以我按照它说的做了,现在它开始了。

相关内容