mkdir /data/pgsql9.6
其中,/data/pgsql9.6 是数据需要存放的目录,可以根据实际情况进行修改。
之前路径为:/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
注意:不建议初始化,把老的数据拷贝到新的路径下面,形成新的数据存储路径
chown -R postgres:postgres /data/pgsql9.6/data
注意:如果不行,可以授权到上一个目录
vi /usr/lib/systemd/system/postgresql-9.6.service
修改
Enviroment=PGDATA=/var/lib/pgsql/9.6/data
路径改为
/data/pgsql9.6/data
保存退出编辑。
systemctl daemon-reload (重新加载)
systemctl restart postgresql-9.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(生效)
FATAL: data directory "/mnt/pgsql/data" has group or world access
DETAIL: Permissions should be u=rwx (0700).
这个错误表明PostgreSQL数据目录/mnt/pgsql/data
对于除了文件所有者之外的其他用户或组是可读写的。PostgreSQL出于安全原因要求数据目录只对PostgreSQL服务账户可写。
解决方法:
最后重启服务解决。