2017-02-12 13 views
1

私はLinuxとPostgresの新機能です。私は成功していない2日間、別のディレクトリに自分のデータを接続しようとしています。私はUbuntuのデータディレクトリを変更するとPostgresが動作しない

まず私から私のpostgres.confにデータディレクトリを変更:私はPostgresのに接続しようとすると、私はこのエラーを取得する

data_directory = '/media/cesar/My Book/data9.6' 

[email protected]:/$ sudo -u postgres psql postgres 
psql: could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

data_directory = '/var/lib/postgresql/9.6/main' 

私はPostgres Serverを何度か再起動し、成功しなくても設定を変更しました。

古いディレクトリに戻っても正常に動作します。

[email protected]:/$ sudo /etc/init.d/postgresql restart 
[sudo] password for cesar: 
[ ok ] Restarting postgresql (via systemctl): postgresql.service. 
[email protected]:/$ sudo -u postgres psql postgres 
psql (9.6.2) 
Type "help" for help. 
postgres=# 

私が間違っていることはありますか?

のls -s応答

[email protected]:~$ ls -l /media/cesar/My\ Book/data9.6 
total 149 
drwxrwxrwx 1 cesar cesar  0 Jan 7 22:04 base 
drwxrwxrwx 1 cesar cesar 16384 Feb 6 19:40 global 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_clog 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_commit_ts 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_dynshmem 
-rwxrwxrwx 2 cesar cesar 4118 Jan 8 14:46 pg_hba.conf 
-rwxrwxrwx 2 cesar cesar 1678 Jan 7 21:56 pg_ident.conf 
drwxrwxrwx 1 cesar cesar 65536 Feb 6 00:16 pg_log 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_logical 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_multixact 
drwxrwxrwx 1 cesar cesar  0 Feb 6 00:16 pg_notify 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_replslot 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_serial 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_snapshots 
drwxrwxrwx 1 cesar cesar  0 Feb 6 00:16 pg_stat 
drwxrwxrwx 1 cesar cesar  0 Feb 7 21:15 pg_stat_tmp 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_subtrans 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_tblspc 
drwxrwxrwx 1 cesar cesar  0 Jan 7 21:56 pg_twophase 
-rwxrwxrwx 2 cesar cesar  4 Jan 7 21:56 PG_VERSION 
drwxrwxrwx 1 cesar cesar 32768 Feb 6 00:15 pg_xlog 
-rwxrwxrwx 2 cesar cesar 90 Jan 7 21:56 postgresql.auto.conf 
-rwxrwxrwx 1 cesar cesar 22267 Feb 12 14:25 postgresql.conf 
-rwxrwxrwx 2 cesar cesar 67 Feb 6 00:16 postmaster.opts 
-rwxrwxrwx 2 cesar cesar 35 Feb 6 00:16 postmaster.pid 
-rwxrwxrwx 1 cesar cesar  3 Feb 12 14:52 test.txt 
+0

古いディレクトリと新しいディレクトリのパーミッションと所有者は何ですか? – Sergius

+0

致命的:データディレクトリ "/ media/cesar/My Book/dataGE"にグループまたはワールドアクセスがあります 詳細:権限はu = rwx(0700)である必要があります。 – CesarD

+0

私は試してみるとエラーになる:cesar @ ubuntu:/ $ /usr/lib/postgresql/9.6/bin/pg_ctl -D/media/cesar/My \ Book/dataGE -l /tmp/pgsql.log start サーバ – CesarD

答えて

0

ユーザーpostgresは読んだことがあるはずです、データディレクトリのパーミッションを書き込み、実行。他のユーザーは書き込みアクセス権を持たないはずです。データディレクトリを変更した後、データベース・ファイルを設定するinitdbを実行する必要があります

chown -R postgres:postgres '/media/cesar/My Book/dataGE' 
chmod -R u+rwx,g-rwx,o-rwx '/media/cesar/My Book/dataGE' 

:あなたはこれらの権限を設定することができます

su - postgres 
initdb 
+0

sudo -su postgresを使用すると、私はpostgresが私に同じエラーを与えるので、サーバーを開こうとします。ありがとうございました! – CesarD

+0

postgresユーザーになった後、データディレクトリを読み書きできますか? 'ls/path/to/data'や' echo hi/path/to/data/test.txt'のように – Andomar

+0

これは私がpostgres @ ubuntuを試したものです:/ media/cesar/My Book/data9.6 $と私それにアクセスしました – CesarD

関連する問題