零一开源—技术|科技|资源分享 零一开源—技术|科技|资源分享

技术分享与兴趣交流

目录
PostgreSQL 9.6修改数据存储路径
/  

PostgreSQL 9.6修改数据存储路径

1、新建存储路径,建议放磁盘大的硬盘

mkdir /data/pgsql9.6

其中,/data/pgsql9.6 是数据需要存放的目录,可以根据实际情况进行修改。

2.把之前的数据库的数据路径下的数据拷贝到新的路径下

之前路径为:/var/lib/pgsql/9.6

注意:拷贝之前请停用运行中的服务

systemctl stop postgresql-9.6

拷贝老的数据路径到新的路径下

cp -r /var/lib/pgsql/9.6/data /data/pgsql9.6

拷贝完成后,新的数据路径生成

/data/pgsql9.6/data

注意:不建议初始化,把老的数据拷贝到新的路径下面,形成新的数据存储路径

3.设置访问权限

chown -R postgres:postgres /data/pgsql9.6/data

注意:如果不行,可以授权到上一个目录

4.修改服务里面的数据路径

vi /usr/lib/systemd/system/postgresql-9.6.service

修改

Enviroment=PGDATA=/var/lib/pgsql/9.6/data 

路径改为

/data/pgsql9.6/data 

保存退出编辑。

5.重启PostgreSQL 服务

systemctl daemon-reload (重新加载)
systemctl restart postgresql-9.6(重启服务)

6.更改系统环境

vi /etc/profile
export PGDATA=/var/lib/pgsql/9.6/data

改为

/data/pgsql9.6/data

保存退出编辑。

完整的配置

export PGDATA=/data/pgdata/data
export PGHOME=/usr/pgsql-9.6
export PATH=$PGHOME/bin:$PATH

. /etc/profile(生效)

7.错误和解决办法

错误一:
FATAL:  data directory "/mnt/pgsql/data" has group or world access
DETAIL:  Permissions should be u=rwx (0700).

这个错误表明PostgreSQL数据目录/mnt/pgsql/data对于除了文件所有者之外的其他用户或组是可读写的。PostgreSQL出于安全原因要求数据目录只对PostgreSQL服务账户可写。
解决方法:

    1. 修改数据目录的权限,使其仅对PostgreSQL服务账户可写。
    1. 使用chmod命令修改权限,如下所示:
      sudo chmod -R 700 /mnt/pgsql/data

最后重启服务解决。


标题:PostgreSQL 9.6修改数据存储路径
作者:hacken
地址:https://www.01open.com/articles/2024/08/05/1722836423245.html