当前位置: 首页 > 知识库问答 >
问题:

当我在 Ubuntu 中更改数据目录时,帖子不起作用

庄博厚
2023-03-14

我是Linux和Postgres的新手。我已经尝试将数据连接到另一个目录两天了,但都没有成功。

首先,我在我的 postgres.conf 中更改了数据目录:

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

自:

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

当我尝试连接到Postgres时,我收到此错误:

cesar@ubuntu:/$ 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"?

我重新启动了Postgres服务器几次,更改了配置也没有成功。

如果我换回旧目录,它就可以正常工作。

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

你知道我做错了什么吗?

断续器 -s 响应

postgres@ubuntu:~$ 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

共有3个答案

白青青
2023-03-14

添加到@Jameel's

我的设置是本地Postgres数据库。我启用了数据库日志记录,以查看数据库上运行的查询及其错误(仅供参考…我有一个Hibernate应用程序,在后端持久化数据库并调试Hibernate问题,我觉得检查postgres日志很容易,而不是玩弄记录器配置)。

Postgres日志在 /9.6/Data/logs.要打开日志与编辑器(例如:Sublime的文本)我添加只读权限给每个人.虽然它不容易停止我的postgres服务器,在后续的重启尝试(例如重启笔记本电脑)postgres服务器是无法启动。

因此,在/9.6 /Data上以递归方式删除对每个人的所有权限解决了我的问题。我的意思是它应该被阅读

潘哲
2023-03-14

我想分享我的问题基本上是经过许可的。检查此项时,数据库群集未启动

解决方案已经提到,所以我只是执行

董权
2023-03-14

用户< code>postgres应该对数据目录拥有读取、写入和执行权限。任何其他用户都不应该具有写访问权限。您可以通过以下方式设置这些权限:

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

更改数据目录后,您应该运行< code>initdb来设置数据库文件:

su - postgres
initdb
 类似资料:
  • 问题内容: 如何在Java程序中更改当前工作目录?我已经找到的关于该问题的所有信息都声称你根本做不到,但我不敢相信确实如此。 我有一段代码可以使用通常从其开始的目录中的硬编码相对文件路径打开文件,而我只想能够从其他Java程序中使用该代码而不必从内部启动特定目录。看来你应该可以拨打,但据我所知,仅默默地拨打那条电话就行不通了。 我会理解,如果Java不允许你这样做,或者不是因为Java允许你获取当

  • 我在一篇类似的文章中读到了如何在ubuntu xampp中更改文档根,这篇文章说要更改documentroot的值 httpd。conf值:DocumentRoot“/media/my\drive/xampp/htdocs” XAMPP:错误1!无法启动Apache!XAMPP:正在启动诊断。。。对不起,我不知道出了什么问题。XAMPP:请联系我们的论坛http://www.apachefrien

  • 问题内容: 我想用Go 实现命令: 但是当我在shell中运行时,它仍然不会切换到我的主目录。 那么如何通过运行go文件在shell中更改我的工作目录? 问题答案: 你做不到 每个子进程都有从父进程继承的自己的工作目录。在这种情况下,您将从其父级(您的shell)获取其工作目录。子进程无法更改父进程的目录或任何其他状态。 这是基本的过程分离。允许子进程影响其父进程将遇到各种安全性和可用性问题。 外

  • 问题内容: 我想在子目录/超级目录中执行脚本(我需要先在此子目录/超级目录中)。我无法进入子目录: Python抛出OSError,我不知道为什么。无论是尝试进入现有的子目录还是进入一个目录(如上所述)都没有关系-我总是会遇到相同的错误。 问题答案: 您的代码尝试执行的操作是调用名为的程序。您想要的是称为的命令。 但是是外壳内部的。所以你只能称它为 但这是没有意义的。 由于没有进程可以更改另一个进

  • 问题内容: 我知道有人问过我,但是到目前为止我发现的内容还没有解决。我来的壁橱是: 适用于当前目录。我不太擅长Linux终端,因此我应该在此命令中添加什么内容以将其应用于我所在的所有子目录中的所有文件,谢谢! 问题答案: 这是使用and 的一种方法: 编辑; 添加: 这样可以确保仅找到带有大写字母的文件。例如,如果找到仅包含小写字母的文件并将其移至同一文件,则将显示错误。

  • UserViewModel: 用户存储库: