Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入

场景

Windows中通过bat定时执行命令和mysqldump实现数据库备份:

Windows中通过bat定时执行命令和mysqldump实现数据库备份_mysqldump bat-CSDN博客

Windows上通过bat实现不同数据库之间同步部分表的部分字段数据:

Windows上通过bat实现不同数据库之间同步部分表的部分字段数据_不同数据库不同字段之间的数据同步-CSDN博客

上面讲了在mysql中使用mysqldump备份的记录。

当然如果两个数据中指定表的同步可以直接使用Navicat等软件进行。

但是如果不能同时连接两个库进行数据同步,就需要先把一个库中某个表导出,再到另一个网络环境下执行导入。

但是在postgresql中使用navicat直接导出sql文件并导入会有问题。

PostgreSQL 提供了备份单个数据库的工具 pg_dump

它支持三种文件格式:

• plain,文本格式,输出一个纯文本形式的 SQL 脚本,默认值。还原时直接使用 psql 工具导入。

• custom,自定义格式,输出一个自定义格式的归档文件,还原时使用 pg_restore 工具。

与目录导出格式结合使用时,提供了最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。

这种格式在默认情况还会进行文件的压缩。

• directory,目录格式,输出一个目录格式的归档,还原时使用 pg_restore 工具。这种格式将会创建一个目录,

为每个导出的表和大对象都创建一个文件,另外再创建一个内容目录文件,该文件使用自定义格式存储关于导出对象的描述。

这种格式在默认情况还会进行文件的压缩,并且支持并行导出。

• tar,打包格式,输出一个 tar 格式的归档,还原时使用 pg_restore 工具。这种格式与目录格式兼容,

解压一个 tar 格式的归档将会产生一个目录格式的归档。但是,tar 格式不支持压缩。

另外,在使用 tar 格式归档进行还原时,表数据项的相对顺序不能进行改动。

下面使用第一种方式进行两个库指定表的导出与导入。

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

1、进入到postgres的安装目录的bin下打开cmd,即包含有pg_dump.exe的目录

执行导出命令

pg_dump –h 127.0.0.1 –U postgres –p 5432 –d postgres_geo -t bus_badao –f "D:/badao.dmp"

其中

-h代表数据库ip

-U代表用户名

-p代表端口号

-d代表指定数据库名

-t代表指定表名

-f代表输出的目录和文件名

回车之后会提示输入密码

无任何报错提示则导出成功,可去导出目录下进行验证

2、导入

同样在bin目录下打开cmd,执行导入命令

psql –h 127.0.0.1 –U postgres –p 5432 –d postgis_33_sample  –f "D:/badao.dmp"

其中postgis_33_sample代表数据库名

同样会提示输入密码。

导入成功

3、导出导出其他参数明细

Usage:
  pg_dump [OPTION]... [DBNAME] 数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库。

常用选项:
-f, --file=FILENAME          导出后保存的文件名
-F, --format=c|d|t|p         导出文件的格式(custom, directory, tar, plain, text(default))
-a, --data-only              只导出数据,不包括模式
-b, --blobs                  在转储中包括大对象
-c, --clean                  在重新创建之前,先清除(删除)数据库对象
-C, --create                 在转储中包括命令,以便创建数据库(包括建库语句,无需在导入之前先建数据库)
-t, --table=TABLE            只转储指定名称的表
--column-inserts             以带有列名的insert命令形式转储数据
-t, --table=TABLE            只转储指定名称的表(多张表 -t tb_1 -t tb_1)
-T, --exclude-table=TABLE    不转储指定名称的表(多张表 -t tb_1 -t tb_2)

General options:(一般选项)
  -f, --file=FILENAME          导出后保存的文件名
  -F, --format=c|d|t|p         导出文件的格式(custom, directory, tar, plain, text(default))
  -j, --jobs=NUM               并行任务数
  -v, --verbose                详细信息
  -V, --version                版本信息
  -Z, --compress=0-9           压缩格式的压缩级别
  --lock-wait-timeout=TIMEOUT  在等待表锁超时后操作失败
  -?, --help                   帮助信息

Options controlling the output content:(控制输出的选项)
  -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           在恢复数据的过程中禁用触发器
  --exclude-table-data=TABLE   不转储指定表的数据
  --inserts                    将数据转储为insert命令,而不是copy命令
  --no-security-labels         不分配安全标签进行转储
  --no-synchronized-snapshots  不在并行任务中使用同步快照
  --no-tablespaces             不转储表空间分配信息
  --no-unlogged-table-data     不转储未标记的表数据
  --quote-all-identifiers      引用所有标识符( 不是关键字 )
  --section=SECTION            转储命名部分(pre-data, data, or post-data)
  --serializable-deferrable    等待没有异常的情况下进行转储
  --use-set-session-authorization  使用SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来设置所有权

Connection options:(控制连接的选项)
  -d, --dbname=DBNAME      转储的数据库名
  -h, --host=HOSTNAME      数据库服务器的主机名或IP
  -p, --port=PORT          数据库服务器的端口号
  -U, --username=NAME      指定数据库的用户联接
  -w, --no-password        不显示密码提示输入口令
  -W, --password           强制口令提示 (自动)
  --role=ROLENAME          转储前设置角色

如果没有提供数据库名字, 那么使用 PGDATABASE 环境变量的数值.


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv5改进 | SPPF | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)

一、本文介绍 本文给大家带来是用最新的RT-DETR模型中的AIFI模块来替换YOLOv5中的SPPF。RT-DETR号称是打败YOLO的检测模型,其作为一种基于Transformer的检测方法,相较于传统的基于卷积的检测方法,提供了更为全面和深入的特征理解&#xff0c…

Termux搭建nodejs环境

安装nodejs ~ $ pkg install nodejs使用http-server搭建文件下载服务 先安 http-server 并启动 # 安装 http-server 包 ~ $ npm install -g http-server# 启动 http-server 服务 ~ $ http-server Starting up http-server, serving ./http-server version: 14.1.1http-serve…

高可用初探

高可用的本质是主备切换,主备切换对使用者是透明的。 一、路由器高可用 虚拟路由协议VRRP VRRP是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,…

【Hadoop面试】HDFS读写流程

HDFS(Hadoop Distributed File System)是GFS的开源实现。 HDFS架构 HDFS是一个典型的主/备(Master/Slave)架构的分布式系统,由一个名字节点Namenode(Master) 多个数据节点Datanode(Slave)组成。其中Namenode提供元数…

RISC-V 基础知识汇总

1、指令集 基本指令集 指令集名称描述版本状态RV32I基本整数指令集, 32位元2.1已批准RV32E基本整数指令集(嵌入式系统), 32位元, 16 个暂存器2.0已批准RV64I基本整数指令集, 64位元2.1已批准RV64E基本整数指令集(嵌入式系统), 64位元, 16 个暂存器2.0已批准RV128I基本整数指令…

neuq-acm预备队训练week 10 P1525 [NOIP2010 提高组] 关押罪犯

解题思路 本题用并查集的方法 AC代码 #include <bits/stdc.h> using namespace std; int f[55555]; struct S {int a,b,c;friend inline bool operator<(S a, S b){return a.c>b.c;} } d[100000];int find(int x) {return f[x]x? x:(f[x]find(f[x])); }int mai…

易点易动固定资产管理系统——提升固定资产管理透明度和可靠性

通过全面的资产跟踪、准确的数据记录和实时的报告分析&#xff0c;易点易动系统为企业提供了全新的固定资产管理解决方案&#xff0c;帮助企业实现高效、精确的资产管理&#xff0c;提高运营效率&#xff0c;降低风险&#xff0c;实现可持续发展。 固定资产是企业重要的资源和投…

windows系统通过docker安装redis

文章目录 首先本地要安装了docker,且对docker有一定的了解,不了解可以看我博客哈以前写过安装redis,走的国内镜像.后面有了梯子就不用搞那么麻烦了配置文件映射 注意,指定本地文件需要/开头没有冒号举个栗子/D/server/redis/64bit/docker7_2_0redis.conf命令 首先本地要安装了d…

2019系统修复

修改启动顺序 尝试从最后一次正确配置启动 然后删除最后安全的程序。 准备usb系统盘 用系统引导盘进入命令提示符 chkdsk c: 在只读模式看下是否磁盘有问题。 sfc /scannow命令 在管理员命令提示符窗口输入&#xff1a;sfc /scannow命令。 复制&#xff1a;sfc /scanno…

LeetCode 746. 使用最小花费爬楼梯

一、题目 1、题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花…

倚力未来:人工智能智能辅助医疗的前景与挑战

导言 人工智能在医疗领域的应用正迅速发展&#xff0c;为医疗行业带来了新的可能性。本文将深入探讨人工智能在医疗中的智能辅助应用&#xff0c;以及这一趋势面临的前景和挑战。智慧医疗是指通过先进的信息技术&#xff0c;如人工智能、物联网、大数据等&#xff0c;实现医疗数…

使用Pytorch从零开始构建StyleGAN2

这篇博文是关于 StyleGAN2 的&#xff0c;来自论文Analyzing and Improving the Image Quality of StyleGAN&#xff0c;我们将使用 PyTorch 对其进行干净、简单且可读的实现&#xff0c;并尝试尽可能地还原原始论文。 如果您没有阅读 StyleGAN2 论文。或者不知道它是如何工作…

算法leetcode|93. 复原 IP 地址(多语言实现)

文章目录 93. 复原 IP 地址&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 93. 复原 IP 地址&#xff1a; 有效 IP …

如何戒掉懒惰这个坏习惯?

懒惰是一个常见的坏习惯&#xff0c;它会阻碍我们的进步&#xff0c;影响我们的生活质量。然而&#xff0c;戒掉懒惰并不容易&#xff0c;需要付出一定的努力和毅力。本文将介绍几种方法来戒掉懒惰习惯&#xff0c;帮助你走上一个积极向上的道路。首先&#xff0c;认识到懒惰的…

【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 基于粒子群迭代的拟合算法是一种优化技术&#xff0c;它基于粒子群优化算法&#xff08;PSO&#xff09;的基本思想。该算法通过群体中个体之间的协作和信息共享来寻找最优解。 在基于粒…

tortoisesvn各版本下载链接

https://tortoisesvn.net 无法访问最新版本下载 TortoiseSVN download | SourceForge.net 所有版本下载 TortoiseSVN - Browse Files at SourceForge.net

iPhone16:首款AI iPhone?

随着科技水平的不断发展&#xff0c;智能手机逐渐成为人们最依赖的电子产品之一。为能够满足用户需求&#xff0c;手机的硬件、外观设计与性能飞速提升&#xff0c;这也导致智能手机市场快速进入到瓶颈期。 为了能够带来更优秀的表现&#xff0c;苹果可能会为iPhone 16系列带来…

CSS学习笔记整理

CSS 即 层叠样式表/CSS样式表/级联样式表&#xff0c;也是标记语言&#xff0c; 用于设置HTML页面中的文本内容&#xff08;字体、大小、对齐方式等&#xff09;、图片的外形&#xff08;宽高、边框样式、边距&#xff09;以及版面的布局和外观显示样式 目录 准备工作 Chrome调…

Leetcode221 最大正方形

最大正方形 题解1 DP题解2 暴力(参考) 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内&#xff0c;找到 只包含 ‘1’ 的最大正方形&#xff0c;并返回其面积。 提示&#xff1a; m matrix.length, n matrix[i].length1 < m, n < 300matrix[i][j] 为 ‘0’ 或 ‘1’ 题解…

mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)

如果直接跑sql是能走索引很快&#xff0c;在mybatis中不能&#xff0c;可能就是jdbcType的原因。 比如&#xff0c;我有一个属性A&#xff0c;在表里面是VARCHAR2类型&#xff0c;但是在mybatis中的sql是#{a}&#xff0c;缺少jdbcTypeJdbcType.VARCHAR&#xff0c;就会导致myba…