【问题标题】:still located to default data directory postgreSQL even i've changed即使我改变了,仍然位于默认数据目录 postgreSQL
【发布时间】:2021-01-15 08:31:41
【问题描述】:

我在我的 centOs7 服务器上全新安装了 postgreSQL,并想在我的服务器上将我的默认 postgresql 数据目录更改为 /opt/postgres。这就是我所做的:

# chown postgres:postgres /opt/postgres
# chmod 700 /opt/postgres

接下来我使用 rsync 命令将默认数据目录转移到新位置

# rsync -av /var/lib/pgsql/11/data /opt/postgres

然后我删除默认配置文件,因为在另一个教程中说它会崩溃,因为 postgres 只是在默认文件夹配置中侦听。 here

以及我更新 /var/lib/pgsql/11/data/postgresql.conf 配置文件的 data_directory 变量以指向新的我的数据目录的最后一种方式。

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = '/opt/postgres/data'         # use data in another directory

最后我启动了 postgresql-11 服务,我看到我的 postgres 数据目录仍然位于默认数据中

[root@soa-forwarder postgres]# su - postgres
Last login: Tue Sep 29 23:48:52 WIB 2020 on pts/3
-bash-4.2$ psql
psql (11.9)
Type "help" for help.

postgres=# show data_directory;
     data_directory
------------------------
 /var/lib/pgsql/11/data
(1 row)

postgres=#

我一直在尝试重新启动数据库,但仍然没有改变。 我必须重新初始化数据库吗?

【问题讨论】:

标签: postgresql centos centos7


【解决方案1】:

只是将data_directory 更改为postgresql.conf 不会有任何作用。首先,启动过程要找到postgresql.conf所在的目录,然后才能读取文件以确定数据目录的位置。

因此您必须重新配置启动过程以查看正确的目录。对于 CentOS 的 PGDG 软件包,这意味着用另一个具有

的服务文件覆盖服务文件
Environment=PGDATA=/opt/postgres

[Service] 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2016-05-16
    • 2017-04-23
    相关资源
    最近更新 更多