1、pg_dump 命令转移数据结构及数据

1.1 pg_dump 常用参数解释

1、pg_dump [选项]… [数据库名字]-f, --file=FILENAME 输出文件或目录名-F, --format=c|d|t|p 输出文件格式 (定制, 目录, tar)明文 (默认值))-j, --jobs=NUM 执行多个并行任务进行备份转储工作-v, --verbose 详细模式-V, --version 输出版本信息,然后退出-Z, --compress=0-9 被压缩格式的压缩级别–lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败-?, --help 显示此帮助, 然后退出-a, --data-only 只转储数据,不包括模式-b, --blobs 在转储中包括大对象-c, --clean 在重新创建之前,先清除(删除)数据库对象-C, --create 在转储中包括命令,以便创建数据库-E, --encoding=ENCODING 转储以ENCODING形式编码的数据-n, --schema=SCHEMA 只转储指定名称的模式-N, --exclude-schema=SCHEMA 不转储已命名的模式-o, --oids 在转储中包括 OID-O, --no-owner 在明文格式中, 忽略恢复对象所属者-s, --schema-only 只转储模式, 不包括数据-S, --superuser=NAME 在明文格式中使用指定的超级用户名-t, --table=TABLE 只转储指定名称的表-T, --exclude-table=TABLE 不转储指定名称的表-x, --no-privileges 不要转储权限 (grant/revoke)–binary-upgrade 只能由升级工具使用–column-inserts 以带有列名的INSERT命令形式转储数据–disable-dollar-quoting 取消美元 (符号) 引号, 使用 SQL 标准引号–disable-triggers 在只恢复数据的过程中禁用触发器–enable-row-security 启用行安全性(只转储用户能够访问的内容)–exclude-table-data=TABLE 不转储指定名称的表中的数据–if-exists 当删除对象时使用IF EXISTS–inserts 以INSERT命令,而不是COPY命令的形式转储数据–no-security-labels 不转储安全标签的分配–no-synchronized-snapshots 在并行工作集中不使用同步快照–no-tablespaces 不转储表空间分配信息–no-unlogged-table-data 不转储没有日志的表数据–quote-all-identifiers 所有标识符加引号,即使不是关键字–section=SECTION 备份命名的节 (数据前, 数据, 及 数据后)–serializable-deferrable 等到备份可以无异常运行–snapshot=SNAPSHOT 为转储使用给定的快照–strict-names 要求每个表和/或schema包括模式以匹配至少一个实体–use-set-session-authorization使用 SESSION AUTHORIZATION 命令代替ALTER OWNER 命令来设置所有权-d, --dbname=DBNAME 对数据库 DBNAME备份-h, --host=主机名 数据库服务器的主机名或套接字目录-p, --port=端口号 数据库服务器的端口号-U, --username=名字 以指定的数据库用户联接-w, --no-password 永远不提示输入口令-W, --password 强制口令提示 (自动)–role=ROLENAME 在转储前运行SET ROLE

1.2 举例

示例:
pg_dump -U postgres -h 22.222.22.222 -p 5432 -t table_name -f ‘filename’ -d postgres
1)压缩的方式导出,一般库比较大
pg_dump dbname | gzip > filename.gz
恢复时,使用下面的命令:
gunzip -c filename.gz | psql dbname
也可以使用下面的命令来恢复数据库:
cat filename.gz | gunzip | psql dbname2)pg_dump dbname | split -b 1m - filename 分解备份文件
在这个例子中,数据库备份被分成多个大小为1MB的文件,进行导出
使用下面的命令进行恢复操作:
cat filename* | psql dbname3)使用pg_dump自带的压缩功能。这种方法产生的备份文件也是被压缩的,同第一种方法相比,它有一个优点,就是可以只恢复备份文件中的某个表的数据。这种方法的命令格式如下,就是增加了选项-Fc:
pg_dump -Fc dbname > filename
不能使用psql命令恢复用这种方法备份的数据,必须使用pg_restore来进行恢复操作。命令格式如下:
pg_restore -d dbname filename

1.3 转移SQL文件

 使用 sz ,rz命令sz:将选定的文件发送(send)到本地机器rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具,windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)。注意:该方法的传输速度比较慢,推荐使用中小文件的传输。
如果用xshell连接的话可以配合xftp工具。直接拖拉拽就好啦

2 目标服务器保存数据

2.1 常用命令

su postgres                                                      ## 切换到posgres角色
psql -h localhost -p 9631 -U postgres -d postgres               ## 连接数据库
\i /data/XX.sql                                                 ## 执行脚本
\l                                                              ## 查看所有数据库
\c  dbname                                                      ## 切换数据库
SELECT * FROM information_schema.schemata                       ##查看数据库下的所有模式
\d                                                              ##查看表
\d table_name                                                   ##查看表结构
\du                                                             ## 列出所有用户
\e                                                              ## 打开文本编辑器
\q                                                              ## 退出
注:上面都是转移数据事会用到的命令。其他的比如什么create database dbname等sql命令。可参考https://blog.csdn.net/weixin_42504785/article/details/111989980

2.2 操作步骤

1、连接数据库psql -h localhost -p 9631 -U postgres -d postgres
2、先创建需要目标数据库 create database dbname
3、切换到目标数据库 \c dbname
4、\i  XXX.sql  执行sql
5、可用select * from schema.tablename limit 10;简单验证是否导入成功

pg_dump转移数据操作步骤及常用命令;相关推荐

  1. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  2. csdn入门测试教程------mysql数据库命令大全以及常用命令 安装教程 基础知识 附【练习题】

    前言: mysql数据库是每一个测试小白入行必学的一个知识,学会这些命令呢也能让你在玩转数据库的时候给你提供很多的便利也是很不错的,最后希望各位小伙伴学有所成,心想事成咯, 废话不多说直接上正文. [ ...

  3. 达梦数据库自动备份,DM8设置自动备份,达梦数据库,自动备份。详细步骤。常用命令,启动关闭数据库,查看DMAP状态

    常用命令 DmServiceDAMENG.service改成自己bin目录下文件名 运维常见问题,官方文档 注意事项 登录客户端工具,一定要使用SYSDBA用户进行下面的客户端操作 登录数据库主机,一 ...

  4. 3.2.3 Sqoop 数据迁移工具, 导入数据import, MySQL到HDFS/Hive, 导出数据export,增量数据导入, Sqoop job,常用命令及参数

    目录 数据迁移工具 -- Sqoop 第一部分 Sqoop概述 第二部分 安装配置 第三部分 应用案例 第 1 节 导入数据import MySQL 到 HDFS MySQL 到 Hive 第 2 节 ...

  5. Linux文件操作四剑客常用命令

    find查找命令 find命令说明 Linux find命令用来在指定目录下查找文件 任何位于参数之前的字符串都将被视为欲查找的目录名 如果使用该命令时,不设置任何参数,则find命令将在当前目录下查 ...

  6. xshell 6 连接debian系统拒绝了密码_Xshell中操作Linux的常用命令,你知道几个?

    作为IT人员,想必都知道Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Xshell作为专业的终端模拟器,可以用 ...

  7. Linux操作汇总(常用命令、vim)

    目录 linux目录架构 主要目录速查表 常用命令 ubuntu 软件操作命令 ssh与scp Vim操作 linux目录架构 在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录 ...

  8. linux查看nbu数据库命令,NBU基本常用命令

    Veritas常用命令: 1. 查看当有运行的任务 bpdbjobs –report | grep Active 2. 停止任务 bpdbjobs –cancel PID (包括主任务和子任务) 3. ...

  9. 熟悉常用的HDFS操作(附录HDFS常用命令)

    文章目录 1. 学习目的 2. 学习内容 3. 实验一 3.1 追加文本 3.2 覆盖文本 3.3 脚本完成 4. 实验二 4.1 下载文件脚本 4.2 输出文件内容脚本 4.3 显示单个文件信息脚本 ...

最新文章

  1. 量子算命,在线掷筊:一个IBM量子云计算机的应用实践,代码都有了
  2. 【剑道之道】亦是生存之道
  3. 通过yumdownloader下载rpm包
  4. rhel8手动安装mysql_RHEL8 CentOS8 下安装 MySQL 8.0亲测
  5. shell中$后加引号有什么用($string和$'string')
  6. 项目: flappy bird
  7. jquery点击事件遇到的小bug
  8. c语言两个数组比较大小函数,输入两个数组,调用large函数比较,计数,输出统计结果...
  9. Python学习教程(Python学习路线):如何正确使用Pandas库提升项目的运行速度?...
  10. 区块链交易隐私如何保证?华为零知识证明技术实战解析
  11. linux通过网关挂在nfs,NFS 网络文件系统挂载在A8板子上
  12. java.sql.SQLException: Access denied for user 'Administrator'@'localhost' (using password: YES)
  13. SIGIR‘22 推荐系统论文之对比学习篇
  14. C++ 获取鼠标点击位置
  15. 网络协议安全性分析(思维导图word版本)
  16. 2022考公务员难还是考研难?
  17. 建立统计回归模型的基本步骤_基本回归模型
  18. vivoy85a参数配置_vivoY85A基本配置参数?
  19. 英飞凌TC387复位后无法跳转到应用程序首地址
  20. 完美解决 请在微信客户端打开链接

热门文章

  1. Django(22)-ORM中F对象和Q对象
  2. 只需10美元,AI就能“复活”已故亲人
  3. 用计算机说早上好,早上好说说句子清爽干净 每日一句早安心语励志
  4. 一些常用的免费API接口
  5. webuploader上传图片
  6. 计算机专业学校运动会霸气口号,学校运动会霸气加油口号
  7. python中全局变量的定义及调用_python中定义全局变量
  8. 拓嘉启远电商:拼多多店名更改条件以及禁忌
  9. 约瑟夫问题与魔术(七)——魔术《The Australian Deal》
  10. 5.1 Photoshop创建图层的几种方式 [原创Ps教程]