postgresql数据库迁移(拷贝数据库文件方式迁移)

本文详细介绍了如何通过压缩和解压data目录的方式,实现PostgreSQL数据库从旧机器到新机器的完整迁移过程。包括在旧机器上停止数据库、压缩data目录,以及在新机器上解压并替换原有data目录,最后启动数据库进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

旧机器A:

1、找到postgresql的data目录

2、停止postgresql数据库

3、执行tar -zcvf databak.tar.gz data/

新机器B:

tar -zxvf databak.tar.gz -C /usr/local/postgres/

使用scp或是ftp,或是移动硬盘将压缩文件放到新机器B上,前提条件是B机器要装有新的postgresql数据库,先停止数据库,然后找到data目录,执行rm -rf data/或是压缩备份一下(视情况而定) ,接着将原机器压缩的data目录的tar报,解压,替换原来的data目录。解压完成之后,可以给data目录授权,chown -R postgres.postgres data/。(有些小伙伴的用户可能不是postgres,结合实际情况执行就行),然后启动数据库。验证。

本人亲测,可以的完成数据库迁移。

您好!对于 PostgreSQL 数据库迁移和主从设置,可以使用以下步骤进行操作: 1. 数据库迁移: - 首先,确保目标服务器上已经安装了 PostgreSQL 数据库。 - 在源服务器上使用 `pg_dump` 命令导出数据库的结构和数据到一个 SQL 文件中: ``` pg_dump -U <用户名> -h <源服务器地址> -p <源服务器端口> -C -f <导出文件路径> <数据库名> ``` - 将导出的 SQL 文件拷贝到目标服务器上,可以使用 `scp` 命令进行拷贝: ``` scp <本地文件路径> <目标服务器用户名>@<目标服务器地址>:<目标服务器文件路径> ``` - 在目标服务器上创建一个新的空数据库(如果需要),然后使用 `psql` 命令导入 SQL 文件: ``` psql -U <用户名> -h <目标服务器地址> -p <目标服务器端口> -d <数据库名> -f <导入文件路径> ``` 2. 主从设置: - 首先,确保主服务器和从服务器上都已经安装了 PostgreSQL 数据库。 - 在主服务器上修改 `postgresql.conf` 配置文件,启用 WAL 归档和流复制: ``` wal_level = replica archive_mode = on archive_command = 'cp %p /path/to/archive/%f' max_wal_senders = 10 ``` - 在主服务器上修改 `pg_hba.conf` 配置文件,允许从服务器连接主服务器: ``` host replication <从服务器用户名> <从服务器地址>/32 md5 ``` - 在从服务器上创建一个空的目标数据库(如果需要)。 - 在从服务器上创建一个 `recovery.conf` 配置文件,指定从服务器作为备库,并配置连接主服务器的参数: ``` standby_mode = on primary_conninfo = 'host=<主服务器地址> port=<主服务器端口> user=<主服务器用户名> password=<主服务器密码>' restore_command = 'cp /path/to/archive/%f %p' ``` - 启动主服务器和从服务器上的 PostgreSQL 服务,从服务器会自动连接到主服务器并开始复制数据。 这些步骤可以帮助您进行 PostgreSQL 数据库迁移和设置主从复制。请根据您的实际情况进行相应的修改和调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值