postgreSQL数据备份与迁移的完美实践

您所在的位置:网站首页 linux中pg库的安装方式 postgreSQL数据备份与迁移的完美实践

postgreSQL数据备份与迁移的完美实践

2023-10-27 15:25| 来源: 网络整理| 查看: 265

🍎✨ 数据备份与迁移 参考文章

❗️pg_dump命令说明

❗️pg_restore命令说明

Postgresql备份与还原命令pg_dump

PostgreSQL pg_dump&psql 数据的备份与恢复

1、首先安装一下postgresql

❗️❗️❗️特别要注意版本问题!

❗️❗️❗️后面出了12、13版本了~版本是向下兼容的,安装的时候一定要注意!!!

brew install postgresql@11 2、修改环境变量使命令生效 # 我的postgre11安装的目录是: /usr/local/Cellar/postgresql@11/11.12/bin # 修改~/.bash_profile cd ~/ vim .bash_profile # 增加PATH,将下面这行加进去 export PATH=/usr/local/Cellar/postgresql@11/11.12/bin:$PATH # source source .bash_profile # 如果使用 zshrc的话,需要再做一步: echo 'export PATH="/usr/local/Cellar/postgresql@11/11.12/bin:$PATH"' >> ~/.zshrc source ~/.zshrc # 验证一下 which pg_dump 输出:/usr/local/Cellar/postgresql@11/11.12/bin/pg_dump 3、备份远程数据库的表结构到本地 -U:用户名 -h:host -p:端口 -d:要导出哪个数据库的表结构 -f:后面跟导出的文件名,也可以加上完整的路径 -F:表示导出的文件格式(这里导出成tar类型,如果不指定-F,默认导出文本格式,后缀可以用.sql) -s:表示只备份表结构!❗️去掉-s会将数据也都导出来 -x:加上它以后可以忽略权限相关的配置!❗️现在数据库中没有关于权限的配置,所以暂时可以加上这个参数! -O:表示忽略用户owner,导出的sql语句中不包含 WONER TO 语句 -W:表示强制输入密码 # 执行命令前将当前目录切换到Downloads(其他目录也行): cd ~/Downloads # ❗️1、生成 tar文件(推荐) pg_dump -U (用户名) -h (数据库的host) -p 5432 -d (数据库名) -f runfast_struct.tar -F tar -sOW # 2、生成 sql文件 pg_dump -U (用户名) -h (数据库的host) -p 5432 -d (数据库名) -f runfast_struct.sql -x -sOW 4-1、将表结构导入到目标数据库 # 如果目标服务器中还没有数据库,需要使用 -C 参数创建一下 # owner相关(暂时没有权限相关的配置的话可以不用搞这个) --role=(用户名) # 执行命令前将当前目录切换到Downloads(其他目录也行): cd ~/Downloads # ❗️方式1: 注意dump的时候得用 -F 命令生成一个tar格式的文件(推荐) pg_restore -U (用户名) -h (host) -p 4432 -d (dbname) -O -x < runfast_struct.tar # 方式2: 如果前面生成的是sql文件,用这个方法。❓但是pgsql命令貌似在远程没办法执行! pgsql -U (用户名) -h (host) -p 4432 -d(dbname) -O -x < runfast_struct.sql 4-2关于dump的时候加上-x参数禁止转储权限相关的问题

文档中关于-x的参数有如下说明:

-x --no-privileges --no-acl 禁止转储访问权限(grant/revoke 命令)。

加上与不加这个-x可以看到只有一些不同,主要是一些权限的配置,不影响迁移后数据库的读写操作!

# 数据库权限相关,如果没有用到可以不加 REMOKE ALL ON SCHEMA public FROM PBULIC; GRANK ALL ON SCHEMA public TO PBULIC; 5、表结构完整性验证

—— 其实可以将线上的数据库与新生成的数据库使用pg_dump命令分别导出成sql文件,比较一下两个sql文件有没有不同的地方就好了:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3