dav*_*ave 6 postgresql postgresql-9.5 postgresql-9.6
我正在我的 Ubuntu 17.04 机器上运行本地 postgresql 服务器(9.5 和 9.6)。按照本指南将我的数据目录移动到另一个硬盘驱动器后,服务器无法启动。
\n即与
\nsudo service postgresql restart && sudo service postgresql status \n\n\xe2\x97\x8f postgresql.service - PostgreSQL RDBMS\n Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)\n Active: active (exited) since Mon 2017-11-06 10:31:32 CET; 1min 42s ago\n Process: 8962 ExecStart=/bin/true (code=exited, status=0/SUCCESS)\n Main PID: 8962 (code=exited, status=0/SUCCESS)\n\nNov 06 10:31:32 HERCULES systemd[1]: Starting PostgreSQL RDBMS...\nNov 06 10:31:32 HERCULES systemd[1]: Started PostgreSQL RDBMS.\n
Run Code Online (Sandbox Code Playgroud)\n两个版本的日志都包含以下内容:
\npg_ctl: could not access directory "/media/daveknave/BIGFS/PGSQL/9.5/main": Keine Berechtigung\n
Run Code Online (Sandbox Code Playgroud)\n“Keine Berechtigung”翻译为“拒绝许可”。
\nls -l /media/daveknave/BIGFS/PGSQL/9.5/main\n
Run Code Online (Sandbox Code Playgroud)\n给出
\ndrwxrwxrwx 5 postgres postgres 4096 Sep 25 21:42 base\ndrwxrwxrwx 2 postgres postgres 4096 Nov 3 21:07 global\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_clog\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_commit_ts\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_dynshmem\ndrwxrwxrwx 4 postgres postgres 4096 Sep 25 21:42 pg_logical\ndrwxrwxrwx 4 postgres postgres 4096 Sep 25 21:42 pg_multixact\ndrwxrwxrwx 2 postgres postgres 4096 Nov 3 21:07 pg_notify\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_replslot\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_serial\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_snapshots\ndrwxrwxrwx 2 postgres postgres 4096 Nov 3 21:07 pg_stat\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_stat_tmp\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_subtrans\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_tblspc\ndrwxrwxrwx 2 postgres postgres 4096 Sep 25 21:42 pg_twophase\n-rwxrwxrwx 1 postgres postgres 4 Sep 25 21:42 PG_VERSION\ndrwxrwxrwx 3 postgres postgres 4096 Nov 2 10:19 pg_xlog\n-rwxrwxrwx 1 postgres postgres 88 Sep 25 21:42 postgresql.auto.conf\n-rwxrwxrwx 1 postgres postgres 133 Nov 3 21:07 postmaster.opts\n-rwxrwxrwx 1 postgres postgres 100 Nov 3 21:07 postmaster.pid\n
Run Code Online (Sandbox Code Playgroud)\n我已设置文件权限试图解决此问题,但没有结果。
\n尝试使用访问服务器
\nsudo -u postgres psql -W\n
Run Code Online (Sandbox Code Playgroud)\n提示
\nPassword: \npsql: could not connect to server: Datei oder Verzeichnis nicht gefunden\n Is the server running locally and accepting\n connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?\n
Run Code Online (Sandbox Code Playgroud)\n有人可以帮忙吗?你们中有人遇到过同样的问题吗?我使用谷歌进行搜索,但找不到任何提示来解决我的问题。
\n/main
验证权限
ls -l /media/daveknave/BIGFS/PGSQL/9.5/
Run Code Online (Sandbox Code Playgroud)
仍然可以postgres
访问吗main
?
将用户切换到postgres
with su - postgres
,然后浏览目录结构/media/daveknave/BIGFS/PGSQL/9.5/main/
。您可以导航main
过去base
吗?
..../base
使用以下命令验证下面的文件权限:
ls -lR /media/daveknave/BIGFS/PGSQL/9.5/main/base > ~/postrgres_main_perm.log
Run Code Online (Sandbox Code Playgroud)
进而
vi ~/postrgres_main_perm.log
Run Code Online (Sandbox Code Playgroud)
如果发现日志文件中权限不正确,则运行以下命令授予postgres
该目录...main/base
及其所有底层子目录的所有权限:
chown -Rv postgres:postgres /media/daveknave/BIGFS/PGSQL/9.5/main/base/
Run Code Online (Sandbox Code Playgroud)
注意:
在修改所有权限之前,请确保命令有效,方法是替换chown -Rv
为破坏性较小的内容,例如ls -R
或导航到.../main
目录并发出较短的命令:chown -Rv postgres:postgres base/
。这将确保您将命令应用到正确的目录。
尝试再次重新启动您的 PostgreSQL 实例。
归档时间: |
|
查看次数: |
10481 次 |
最近记录: |