学习笔记 - 修改Postgres数据存放目录

一、操作原因

pgsql当前版本是pg10,自动化安装的pgsql的数据目录是在/var根目录下,一般默认是在/var/lib/pgsql/10/data下面,这是系统根目录,系统根目录一般就100g,远远不够使用,因此需要换成真正的数据目录。因为数据库已经运行很久了,切换之前,需要确定几个事情:

1、应用什么时候允许停服,就是停止postgres服务

2、确保数据目录磁盘足够。

3、查看当前的数据库真正data目录

 

二、操作步骤

1、查看当前的pgsql数据目录

使用命令 postgres=# show data_directory ;

 

2、停止postgres服务

/bin/su -l postgres -c “/usr/bin/pg_ctl -D /var/lib/pgsql/10/data/ stop”

 

3、复制当前数据目录下所有文件到新的目录

创建新数据目录:mkdir -d /data/postgres_data/

开始复制数据文件:

rsync -av /var/lib/pgsql/10/data/ /data/postgres_data/

chown -R postgres.postgres /data/postgres_data

备注:

-a 保留的权限和其他目录属性, 能避免未来的权限问题
-v 提供详细输出,以便能够看到进度

复制结束后,将原来的目录换个名字,mv  /var/lib/pgsql/10/data  /tmp/data

 

4、修改配置文件postgresql.conf

data_directory = ‘/data/postgres_data/’

 

5、启动数据库

启动命令:/bin/su -l postgres -c “/usr/bin/pg_ctl -D /postgres_data/  start”

查看新的数据目录:show data_directory;

postgres=# show data_directory ;
         data_directory          
---------------------------------
 /data/postgres_data
(1 row)

 

    原文作者:九月茅桃
    原文地址: https://blog.csdn.net/mchdba/article/details/108684483
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞