如何移动postgresql 13数据库的位置
How to move location of postrgresql 13 database
我希望将 pgsql 13 数据库的位置从默认位置移动到另一个磁盘。
我最初遵循了这个指南link
但这是针对 v9.5,而不是 13。我的挑战是数据库的位置 - 从 运行 下面的命令中找到 - 也是配置文件的存储位置。
SHOW data_directory;
data_directory
------------------------
/var/lib/pgsql/13/data
(1 row)
SHOW config_file;
config_file
----------------------------------------
/var/lib/pgsql/13/data/postgresql.conf
(1 row)
对于 9.5 版,配置文件位于一个单独的区域中,所以此时我被指南困住了。
看来如果我想移动数据库位置我还必须移动所有配置文件。
我试过将整个数据文件夹移动到新位置并重新启动 postgres,但没有成功。
如有任何帮助,我们将不胜感激。
假设您的配置文件位于 $PG_DATA 下,它们所属的位置:
- 关闭(旧)数据库[=31=]
- 将数据目录复制到新位置(使用
cp -rp
,或rsync -acv
,或tar
,或cpio
,...)确保该文件副本保留属性和所有权。 pgdata
目录应该是 mode == 0600
,并且 owner.group == postgres.postgres
.
- [可选]重命名旧数据目录
- [可选]您可能想要在新位置编辑配置文件
- 编辑启动文件(在
/etc/init.d/postgresql
中)并确保 $PG_DATA 指向新位置。 [注意:这是为了 ubuntu;其他发行版可能使用不同的启动机制]
- 启动新数据库,并检查它是否运行(
ps auxw| grep postgres
,以及是否可以连接(psql -U postgres postgres
)
- [可选] 删除旧位置的目录树。
我希望将 pgsql 13 数据库的位置从默认位置移动到另一个磁盘。
我最初遵循了这个指南link
但这是针对 v9.5,而不是 13。我的挑战是数据库的位置 - 从 运行 下面的命令中找到 - 也是配置文件的存储位置。
SHOW data_directory;
data_directory
------------------------
/var/lib/pgsql/13/data
(1 row)
SHOW config_file;
config_file
----------------------------------------
/var/lib/pgsql/13/data/postgresql.conf
(1 row)
对于 9.5 版,配置文件位于一个单独的区域中,所以此时我被指南困住了。
看来如果我想移动数据库位置我还必须移动所有配置文件。
我试过将整个数据文件夹移动到新位置并重新启动 postgres,但没有成功。
如有任何帮助,我们将不胜感激。
假设您的配置文件位于 $PG_DATA 下,它们所属的位置:
- 关闭(旧)数据库[=31=]
- 将数据目录复制到新位置(使用
cp -rp
,或rsync -acv
,或tar
,或cpio
,...)确保该文件副本保留属性和所有权。pgdata
目录应该是 mode ==0600
,并且 owner.group ==postgres.postgres
. - [可选]重命名旧数据目录
- [可选]您可能想要在新位置编辑配置文件
- 编辑启动文件(在
/etc/init.d/postgresql
中)并确保 $PG_DATA 指向新位置。 [注意:这是为了 ubuntu;其他发行版可能使用不同的启动机制] - 启动新数据库,并检查它是否运行(
ps auxw| grep postgres
,以及是否可以连接(psql -U postgres postgres
) - [可选] 删除旧位置的目录树。