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

news2024/11/17 11:27:34

场景

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.coloradmin.cn/o/1314824.html

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

相关文章

Java EE 多线程之线程安全的集合类

文章目录 1. 多线程环境使用 ArrayList1. 1 Collections.synchronizedList(new ArrayList)1.2 CopyOnWriteArrayList 2. 多线程环境使用队列2.1 ArrayBlockingQueue2.2 LinkedBlockingQueue2.3 PriorityBlockingQueue2.4 TransferQueue 3. 多线程环境使用哈希表3.1 Hashtable3.…

Spring深入学习

1 Bean创建的生命周期 Spring bean是Spring运行时管理的对象。Spring Bean的生命周期指的是Bean从创建到初始化再到销毁的过程,这个过程由IOC容器管理。 IOC即控制反转,是面向对象编程中的一种设计原则,通过依赖注入(DI&#xf…

TrustZone之中断及中断处理

一、中断 接下来,我们将查看系统中的中断,如下图所示: 通用中断控制器(GIC)支持TrustZone。每个中断源,在GIC规范中称为INTID,分配到以下三个组之一: • Group0:安全中断,以FIQ方式发出信号 • 安全Group1:安全中断,以IRQ或FIQ方式发出信号 • 非安全Gr…

SuperMap iManager 11i(2023) SP1新特性汇总

作者:ls 【目录】 (一)GIS云套件支持发布聚合服务(二)GIS云套件支持自定义/修改服务接口信息(三)GIS云套件管理界面支持批量修改镜像(四)GIS云套件管理界面可调整服务节点…

iA Writer for Mac:释放创作力的专业MarkDown写作软件

iA Writer for Mac是一款专业的MarkDown写作软件,为Mac用户提供了简洁、高效的写作环境。无论您是一名专业写作人员、学生或博主,iA Writer都能帮助您以最简单的方式将想法转化为文字。 首先,iA Writer的界面非常简洁,只展示您正…

MATLAB 系统辨识 + PID 自动调参

MATLAB 系统辨识 PID 自动调参 Matlab R2021b下载安装详细教程Chapter1 MATLAB 系统辨识 PID 自动调参1. 导入数据2. 系统辨识3. PID 自动调参 Chapter2 MATLAB系统辨识Chapter3 【MATLAB】使用系统辨识工具箱(System Identification)建模Chapter4 matlab系统辨识工具箱及其反…

网络服务IP属地发生变化的原因有哪些?

近期,许多用户发现自己的网络服务IP属地发生了变化。原本固定的IP地址不再是静态的,而是发生了变动。这一现象引起了广大用户的关注和疑惑,对网络服务的使用和信息安全产生了影响。为了解决用户的疑虑,我们对此现象进行了深入探究…

云仓酒庄带您品法国葡萄酒

说起葡萄酒肯定绕不开法国,法国葡萄酒闻名中外,口碑卓越。作为世界上的产酒大国,可以说是每一寸土地都可以种植葡萄。云仓酒庄的品牌雷盛红酒分享这么优秀的一个葡萄酒产酒国有哪些特点呢? 1.产区特色:波国有最著名的…

js输入框部分内容不可编辑,其余正常输入,el-input和el-select输入框和多个下拉框联动后的内容不可修改

<tr>//格式// required自定义指令<e-td :required"!read" label><span>地区&#xff1a;</span></e-td><td>//v-if"!read && this.data.nationCode 148"显示逻辑<divclass"table-cell-flex"sty…

百华鞋业入围全国老年用品标准编制参编单位

12月8日&#xff0c;中国轻工业信息中心组织召开了中国轻工业适老系列标准研讨会。中国轻工业联合会信息统计部&#xff08;中国轻工业信息中心&#xff09;副主任马真出席会议并讲话。中国轻工业信息中心标准工作负责人孟慧敏介绍了相关标准制定情况。会议由中国轻工业信息中心…

Cellinx NVT 摄像机 GetFileContent.cgi任意文件读取漏洞 (CVE-2023-23063)

0x01 产品简介 Cellinx NVT IP PTZ是韩国Cellinx公司的一个摄像机设备。 0x02 漏洞概述 Cellinx NVT v1.0.6.002b版本存在安全漏洞&#xff0c;该漏洞源于存在本地文件泄露漏洞&#xff0c;攻击者可读取系统密码等敏感信息。 0x03 复现环境 FOFA&#xff1a;body"loc…

LAMP平台——构建PHP运行环境

在构建LAMP平台时&#xff0c;各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和 MySQL的安装并没有严格的顺序&#xff1b;而PHP环境的安装一般放到最后&#xff0c;负责沟通Web服务器和数据库 系统以协同工作。 PHP 即 Hypertext Preprocessor&#xff08;超级…

连续型随机变量的概率密度

如果对于随机变量的分布函数&#xff0c;存在非负可积函数&#xff0c;使得对于任意实数&#xff0c;有&#xff1a; 那么就称为连续型随机变量&#xff0c;称为的概率密度函数&#xff0c;简称密度函数。

Spring 6(一)【Spring 入门】

前言 好久没有写博客了&#xff0c;最近刚忙完考试&#xff0c;眼下又是英语四六级。Flink 按说应该是大数据学习的主线任务&#xff0c;但是长时间学一门技术还是心累的。正好之前对 Java 注解有了进一步的熟悉&#xff0c;一直想着熟悉巩固。所以&#xff0c;今天开始就来深入…

Chapter 7 - 3. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理

Pause Threshold for Long Distance Links长途链路的暂停阈值 This section uses the following basic concepts: 本节使用以下基本概念: Bit Time (BT): It is the time taken to transmit one bit. It is the reciprocal of the bit rate. For example, BT of a 10 GbE po…

微信小程序ios中非cover组件点击重复触发地图tap事件

现象&#xff1a; map中使用view组件的click事件会重复触发地图的tap组件&#xff0c;只在ios上出现 <map id"maps" style"width: 100vw;height: 100vh;" :latitude"latitude" :longitude"longitude":markers"markers"…

P with Spacy:自定义文本分类管道

一、说明 Spacy 是一个功能强大的 NLP 库&#xff0c;其中许多 NLP 任务&#xff08;如标记化、词干提取、词性标记和命名实体解析&#xff09;均通过预训练模型提供开箱即用的功能。所有这些任务都由管道对象以及逐步应用于给定文本的不同函数的内部抽象来包装。该管道可以通过…

STM32_HAL库—IWDG看门狗

一、CubeMX设置 1、晶振配置&#xff08;72M&#xff09; 2、数据配置 超时时间 Tout prv / LSI * rlv (s) 其中prv是预分频器寄存器的值&#xff0c;rlv是重装载寄存器的值&#xff0c;而LSI值默认是40kHz&#xff0c;如下所示。 3、代码实现 int main(){while(1){HAL_IW…

C++ 学习系列 -- 模板 template

一 C 模板介绍&#xff1f; C 为什么引入模板&#xff1f; 我的理解是&#xff1a; C 引入模板的概念&#xff0c;是为了复用重复的代码&#xff0c;当某些代码除了操作的数据类型不同以外&#xff0c;其他逻辑全都相同&#xff0c;此时就适合采用模板的方式。 定义模板类或者…

Linux的文件系统 内核结构

Linux的文件系统 Q1&#xff1a;什么是文件系统&#xff1f; A&#xff1a;在学术的角度下&#xff0c;文件系统指“操作系统用于明确存储设备组织文件的方法”&#xff0c;是“文件管理系统”的简称&#xff0c;本质也是代码&#xff0c;一段程序 Q2&#xff1a;文件系统&…