一、方案1
目录介绍:
参考官网:http://www.postgres.cn/docs/13/storage-file-layout.html
结构说明:解释 | 类型
PG_VERSION:包含当前pg版本信息|文件
base:基础数据,包含当前每个数据库的文件,内部以目录加文件存储|目录
current_logfiles:记录当前日志文件位置信息|文件
global:存储全局集簇信息,比如用户角色等等一些根全局相关的信息|目录
pg_commit_ts:包含已提交事务的时间信息|目录
pg_dynshmem:进程共享缓存数据用于动态共享内存的文件|目录
pg_logical:流复制状态数据信息|目录
pg_multixact:多个事务状态数据信息|目录
pg_notify:监听根通知的一些信息数据|目录
pg_replslot:复制槽数据|目录
pg_serial:已提交的Serializable级别的事务信息|目录
pg_snapshots:导出的快照数据|目录
pg_stat:统计子系统的持久化文件。,所谓子系统就是PG数据库是由一些子系统组成的,可以参考:https://blog.51cto.com/fengfeng688/2147177|目录
pg_stat_tmp:统计子系统的临时文件|目录
pg_subtrans:子事务(pg可以在一个事务中开启多个子事务savepoint 标识符 开启)状态数据|目录
pg_tblspc:表空间|目录
pg_twophase:连续归档还原数据预备事务数据|目录
pg_wal:WAL日志目录|目录
pg_xact:事务日志文件|目录
postgresql.auto.conf:参数配置文件,优先级大于postgresql.conf|文件
postmaster.opts:记录服务器最后一次启动时的命令参数|文件
postmaster.pid:一个锁文件,记录postmaster进程ID、数据库目录路径、postmaster进程启动时间、端口号等信息|文件
postgresql.conf:参数配置文件|文件
pg_hba.conf:客户端认证控制文件|文件
pg_ident.conf:本地用户名映射文件配置|文件
主从备份存储位置说明:
共享存储:
base
global
pg_tblspc
pg_wal
所有节点存储一份:
pg_dynshmem
pg_snapshots
pg_replslot
pg_stat_tmp
pg_stat
pg_serial
Master读写共享存储,
Replica本地存放一份:
pg_xact
pg_commit_ts
pg_multixact
所有节点各自存储一份:
pg_version
postgresql.auto.conf
postmaster.opts
postmaster.pid
postgresql.conf
pg_hba.conf
pg_ident.conf
重点:
1.整体|整个data目录直接拷贝到新库
2.数据不含配置|把共享存储拷贝一份到新库
二、方案2
使用postgresql自带的数据备份还原工具
https://blog.csdn.net/weixin_43783011/article/details/108427603
二、方案3
使用navicat备份还原
二、方案4
使用基础备份还原
具体跟第一种差不多只不过打了个压缩包
如下帖子定位到2.开始基础备份即可
https://blog.csdn.net/weixin_43783011/article/details/108436502