当前位置: 首页 > news >正文

PostgreSQL17.x数据库备份命令及语法说明

PostgreSQL17.x数据库备份命令及语法说明

文章目录

  • PostgreSQL17.x数据库备份命令及语法说明
  • 1. 备份命令
    • 1. pg_dump命令参数
    • 2. pg_dumpall命令参数
  • 2. `pg_dump` 备份单库语法
  • 3. `pg_dumpall` 备份所有数据库语法
  • 4. 备份案例
    • 1. pg_dump单库备份
    • 2.pg_dumpall单库备份
  • 4. 备份案例
    • 1. pg_dump单库备份
    • 2.pg_dumpall单库备份

1. 备份命令

在 PostgreSQL 17 中,备份数据库的常用命令是 pg_dumppg_dumpall

1. pg_dump命令参数

D:\Programs\PG17数据库备份>pg_dump --help
pg_dump 把一个数据库转储为纯文本文件或者是其它格式.使用方法:pg_dump [选项]... [数据库名字]一般选项:-f, --file=FILENAME          输出文件或目录名-F, --format=c|d|t|p         输出文件格式 (定制, 目录, tar明文 (默认值))-j, --jobs=NUM               执行多个并行任务进行备份转储工作-v, --verbose                详细模式-V, --version                输出版本信息, 然后退出-Z, --compress=METHOD[:DETAIL]compress as specified--lock-wait-timeout=TIMEOUT  在等待表锁超时后操作失败--no-sync                    不用等待变化安全写入磁盘--sync-method=METHOD         set method for syncing files to disk-?, --help                   显示此帮助, 然后退出控制输出内容选项:-a, --data-only              只转储数据,不包括模式-b, --large-objects          include large objects in dump--blobs                      (same as --large-objects, deprecated)-B, --no-large-objects       exclude large objects in dump--no-blobs                   (same as --no-large-objects, deprecated)-c, --clean                  在重新创建之前,先清除(删除)数据库对象-C, --create                 在转储中包括命令,以便创建数据库-e, --extension=PATTERN      仅转储指定的扩展名-E, --encoding=ENCODING      转储以ENCODING形式编码的数据-n, --schema=PATTERN         只转储指定的模式-N, --exclude-schema=PATTERN 不转储指定的模式-O, --no-owner               在明文格式中, 忽略恢复对象所属者-s, --schema-only            只转储模式, 不包括数据-S, --superuser=NAME         在明文格式中使用指定的超级用户名-t, --table=PATTERN          dump only the specified table(s)-T, --exclude-table=PATTERN  不转储指定的表-x, --no-privileges          不要转储权限 (grant/revoke)--binary-upgrade             只能由升级工具使用--column-inserts             以带有列名的INSERT命令形式转储数据--disable-dollar-quoting     取消美元 (符号) 引号, 使用 SQL 标准引号--disable-triggers           在只恢复数据的过程中禁用触发器--enable-row-security        启用行安全性(只转储用户能够访问的内容)--exclude-extension=PATTERN  do NOT dump the specified extension(s)--exclude-table-and-children=PATTERNdo NOT dump the specified table(s), includingchild and partition tables--exclude-table-data=PATTERN 不转储指定的表中的数据--exclude-table-data-and-children=PATTERNdo NOT dump data for the specified table(s),including child and partition tables--extra-float-digits=NUM     覆盖extra_float_digits的默认设置--filter=FILENAME            include or exclude objects and data from dumpbased on expressions in FILENAME--if-exists                  当删除对象时使用IF EXISTS--include-foreign-data=PATTERN包含外部服务器上与模式匹配的外部表的数据--inserts                    以INSERT命令,而不是COPY命令的形式转储数据--load-via-partition-root    通过根表加载分区--no-comments                不转储注释--no-publications            不转储发布--no-security-labels         不转储安全标签的分配--no-subscriptions           不转储订阅--no-table-access-method     do not dump table access methods--no-tablespaces             不转储表空间分配信息--no-toast-compression       不转储TOAST压缩方法--no-unlogged-table-data     不转储没有日志的表数据--on-conflict-do-nothing     将ON CONFLICT DO NOTHING添加到INSERT命令--quote-all-identifiers      所有标识符加引号,即使不是关键字--rows-per-insert=NROWS      每个插入的行数;意味着--inserts--section=SECTION            备份命名的节 (数据前, 数据, 及 数据后)--serializable-deferrable    等到备份可以无异常运行--snapshot=SNAPSHOT          为转储使用给定的快照--strict-names               要求每个表和()schema包括模式以匹配至少一个实体--table-and-children=PATTERN dump only the specified table(s), includingchild and partition tables--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如果没有提供数据库名字, 那么使用 PGDATABASE 环境变量
的数值.臭虫报告至<pgsql-bugs@lists.postgresql.org>.
PostgreSQL 主页: <https://www.postgresql.org/>D:\Programs\PG17数据库备份>

2. pg_dumpall命令参数

D:\Programs\PG17数据库备份>pg_dumpall --help
pg_dumpall 抽取一个 PostgreSQL 数据库簇进一个 SQL 脚本文件.使用方法:pg_dumpall [选项]...一般选项:-f, --file=FILENAME          输出文件名-v, --verbose                详细模式-V, --version                输出版本信息, 然后退出--lock-wait-timeout=TIMEOUT  在等待表锁超时后操作失败-?, --help                   显示此帮助, 然后退出控制输出内容选项:-a, --data-only              只转储数据,不包括模式-c, --clean                  在重新创建数据库前先清除(删除)数据库-E, --encoding=ENCODING      转储以ENCODING形式编码的数据-g, --globals-only           只转储全局对象, 不包括数据库-O, --no-owner               不恢复对象所属者-r, --roles-only             只转储角色,不包括数据库或表空间-s, --schema-only            只转储模式, 不包括数据-S, --superuser=NAME         在转储中, 指定的超级用户名-t, --tablespaces-only       只转储表空间,而不转储数据库或角色-x, --no-privileges          不要转储权限 (grant/revoke)--binary-upgrade             只能由升级工具使用--column-inserts             以带有列名的INSERT命令形式转储数据--disable-dollar-quoting     取消美元 (符号) 引号, 使用 SQL 标准引号--disable-triggers           在只恢复数据的过程中禁用触发器--exclude-database=PATTERN   排除名称与PATTERN匹配的数据库--extra-float-digits=NUM     覆盖extra_float_digits的默认设置--filter=FILENAME            exclude databases based on expressions in FILENAME--if-exists                  当删除对象时使用IF EXISTS--inserts                    以INSERT命令,而不是COPY命令的形式转储数据--load-via-partition-root    通过根表加载分区--no-comments                不转储注释--no-publications            不转储发布--no-role-passwords          不转储角色的密码--no-security-labels         不转储安全标签的分配--no-subscriptions           不转储订阅--no-sync                    不用等待变化安全写入磁盘--no-table-access-method     do not dump table access methods--no-tablespaces             不转储表空间分配信息--no-toast-compression       不转储TOAST压缩方法--no-unlogged-table-data     不转储没有日志的表数据--on-conflict-do-nothing     将ON CONFLICT DO NOTHING添加到INSERT命令--quote-all-identifiers      所有标识符加引号,即使不是关键字--rows-per-insert=NROWS      每个插入的行数;意味着--inserts--use-set-session-authorization使用 SESSION AUTHORIZATION 命令代替ALTER OWNER 命令来设置所有权联接选项:-d, --dbname=CONNSTR     连接数据库使用的连接串-h, --host=主机名        数据库服务器的主机名或套接字目录-l, --database=DBNAME    另一个缺省数据库-p, --port=端口号        数据库服务器的端口号-U, --username=名字      以指定的数据库用户联接-w, --no-password        永远不提示输入口令-W, --password           强制口令提示 (自动)--role=ROLENAME          在转储前运行SET ROLE如果没有使用 -f/--file,那么将把SQL脚本写到标准输出.臭虫报告至<pgsql-bugs@lists.postgresql.org>.
PostgreSQL 主页: <https://www.postgresql.org/>D:\Programs\PG17数据库备份>

2. pg_dump 备份单库语法

pg_dump 是一个用于备份单个数据库的工具。它创建一个可以使用 psqlpg_restore 还原的 SQL 脚本文件,或者创建一个自定义格式的归档文件。

基本语法:

pg_dump -U 用户名 -F 格式 -f 输出文件 数据库名称
  • -U 指定连接到PostgreSQL时使用的用户名。
  • -F 指定输出文件的格式,可以是 p (纯文本SQL脚本, 默认), c (自定义归档), d (目录归档), 或 t (tar归档)。
  • -f 指定输出文件的路径和名称。
  • 最后指定要备份的数据库名称。
pg_dump -U dbuser -F p -f /path/to/backupfile.sql mydatabase

这将创建一个名为 backupfile.sql 的纯文本SQL脚本文件,其中包含重建 mydatabase 所需的所有SQL命令。

3. pg_dumpall 备份所有数据库语法

pg_dumpall 用来转储一个PostgreSQL服务器上的所有数据库。它还会转储全局对象(如角色和表空间),这些对象不属于任何单独的数据库。

基本语法:

pg_dumpall -U 用户名 -f 输出文件
  • -U 指定连接到PostgreSQL时使用的用户名。
  • -f 指定输出文件的路径和名称。
pg_dumpall -U myuser -f /path/to/all_databases_backup.sql

这将创建一个名为 all_databases_backup.sql 的纯文本SQL脚本文件,其中包含重建所有数据库以及全局对象所需的所有SQL命令。

4. 备份案例

以用户名dbuser为例

1. pg_dump单库备份

pg_dump -U dbuser -F p -f D:/my-db001.sql my-db

2.pg_dumpall单库备份

pg_dumpall -U dbuser -F p -f D:/my-db-all.sql

件,其中包含重建所有数据库以及全局对象所需的所有SQL命令。

4. 备份案例

以用户名dbuser为例

1. pg_dump单库备份

pg_dump -U dbuser -F p -f D:/my-db001.sql my-db

2.pg_dumpall单库备份

pg_dumpall -U dbuser -F p -f D:/my-db-all.sql

相关文章:

PostgreSQL17.x数据库备份命令及语法说明

PostgreSQL17.x数据库备份命令及语法说明 文章目录 PostgreSQL17.x数据库备份命令及语法说明1. 备份命令1. pg_dump命令参数2. pg_dumpall命令参数 2. pg_dump 备份单库语法3. pg_dumpall 备份所有数据库语法4. 备份案例1. pg_dump单库备份2.pg_dumpall单库备份 4. 备份案例1. …...

Java实现一个带头节点的单链表

什么是单链表&#xff1f; 单链表是一种基础的数据结构&#xff0c;其中每个节点都包含两部分&#xff1a; 数据域&#xff1a;存储节点数据。指针域&#xff1a;存储指向下一个节点的引用。 为什么使用头节点&#xff1f; 头节点的存在简化了操作逻辑&#xff1a; 统一操作…...

【图像配准】方法总结

图像配准(Image registration)就是将不同时间、不同传感器&#xff08;成像设备&#xff09;或不同条件下&#xff08;天候、照度、摄像位置和角度等&#xff09;获取的两幅或多幅图像进行匹配、叠加的过程&#xff0c;就是找到1幅图像像素到另1幅图像像素间的空间映射关系它已…...

LabVIEW汽车综合参数测量

系统基于LabVIEW虚拟仪器技术&#xff0c;专为汽车带轮生产中的质量控制而设计&#xff0c;自动化测量和检测带轮的关键参数。系统采用PCIe-6320数据采集卡与精密传感器结合&#xff0c;能够对带轮的直径、厚度等多个参数进行高精度测量&#xff0c;并通过比较测量法判定产品合…...

三相异步电动机没有气压怎么办?

三相异步电动机作为工业和商业应用中最常见的电动机类型之一&#xff0c;广泛应用于各类机械设备及自动化系统中。其运行依赖于电能的转换&#xff0c;然而在某些情况下&#xff0c;可能会出现电动机驱动设备无法获得气压的情况。 一、三相异步电动机工作原理 三相异步电动机…...

软件工程书籍推荐

软件工程推荐这几本书&#xff1a; 1、软件设计的哲学&#xff08;第2版&#xff09; 本书深入探讨了软件设计中的核心问题&#xff1a;如何将复杂的软件系统分 解为可以相对独立实现的模块&#xff08;例如类和方法&#xff09;&#xff0c;从而降低其复杂性并 提高开发效率。…...

验证集和测试集的区别

验证集&#xff08;Validation Set&#xff09;和测试集&#xff08;Test Set&#xff09;在机器学习模型训练过程中扮演着不同的角色&#xff0c;以下是它们之间的主要区别&#xff1a; 目的&#xff1a; 验证集&#xff1a;用于在模型训练过程中调整模型的超参数和做出训练…...

OpenIPC开源FPV之Adaptive-Link天空端代码解析

OpenIPC开源FPV之Adaptive-Link天空端代码解析 1. 源由2. 框架代码3. 报文处理3.1 special报文3.2 普通报文 4. 工作流程4.1 Profile 竞选4.2 Profile 研判4.3 Profile 应用 5. 总结6. 参考资料7. 补充资料7.1 RSSI 和 SNR 的物理含义7.2 信号质量加权的理论依据7.3 实际应用中…...

Next.js流量教程:核心 Web Vitals的改善

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 引言 1. 什么是 Core Web Vitals&#xff1f; 1.1 Largest Contentful Paint (LCP) 1.2 First Input Delay (FID) 1.3 Cumulative Layout Shift (CLS) 2. 如何优化 …...

百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!

百度智能云千帆 AppBuilder 发版升级&#xff01; 进一步降低开发门槛&#xff0c;落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中&#xff0c;企业级 RAG 和 Agent 能力再度提升&#xff0c;同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…...

构建树莓派温湿度监测系统:从硬件到软件的完整指南

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

12.11数据结构-图

无向完全图&#xff1a;在无向图中&#xff0c;如果任意两个顶点之间都存在边&#xff0c;则称该图为无向完全图。 有向完全图&#xff1a;在有向图中&#xff0c;如果任意两个顶点之间都存在方向相反的两条弧&#xff0c;则称该图为有向完全图。 含有n个顶点的无向完全图有…...

BERT模型入门(2)BERT的工作原理

文章目录 如名称所示&#xff0c;BERT&#xff08;来自Transformer的双向编码器表示&#xff09;是基于Transformer模型。我们可以将BERT视为只有编码器部分的Transformer。 在上一个主题《Transformer入门》中&#xff0c;我们了解到将句子作为输入喂给Transformer的编码器&a…...

python3 中的成员运算符

一. 简介 在Python 3中&#xff0c;成员运算符用于测试序列&#xff08;如字符串、列表、元组、集合或字典&#xff09;中是否包含某个值。身份运算符用于比较两个对象的身份&#xff0c;即它们是否引用内存中的同一个对象。 本文简单学习一下 python3 中的成员运算符与身份运…...

【测试面试篇1】测试开发与开发|selenium实现自动化测试|设计测试用例|常见的测试方法|开发不认可提测试的bug该怎么办

目录 1.选择走测试为什么还要学这么多的开发知识&#xff1f; 2.为什么选择软件测试开发岗位而不是软件开发岗位&#xff1f; 3.个人的职业规划是什么&#xff1f; 4.测试中遇到的问题如何进行解决&#xff1f; 5.对自己的项目做过哪些测试工作&#xff1f; 6.描述selenium…...

人大金仓数据linux安装注意事项

人大金仓数据linux安装注意事项 本次是个人搭建虚拟机安装centos7的环境下进行安装。 1、安装流程参照https://help.kingbase.com.cn/v9/install-updata/install-linux/preface.html。 2、mount安装文件报错 操作手册提供mount的命令如下&#xff1a; mount KingbaseES_V009R0…...

【Maven】多模块项目的构建

项目构建 什么是构建&#xff1f; 项目构建指的是将源代码和资源文件转换为可执行或可分发的软件制品&#xff08;如 JAR、WAR 文件&#xff09;的过程。这个过程不仅包括编译代码&#xff0c;还包括运行测试、打包、部署等步骤。Maven 提供了一套标准化的方法来处理这些任务…...

大模型学习笔记------SAM模型详解与思考

大模型学习笔记------SAM模型详解与思考 1、SAM框架概述2、Segment Anything Task3、Segment Anything Model SAM模型是Meta 提出的分割一切模型&#xff08;Segment Anything Model&#xff0c;SAM&#xff09;突破了分割界限&#xff0c;极大地促进了计算机视觉基础模型的发展…...

crictl和ctr与docker的命令的对比

crictl是遵循CRI接口规范的一个命令行工具&#xff0c;通常用它来检查和管理kubelet节点上的容器运行时和镜像 ctr是containerd的一个客户端工具&#xff0c; 接下来就是crictl的的常见命令&#xff0c;其中能完全替代docker命令的参照下列表格 操作crictldocker查看运行容器…...

SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)

下面是一个示例&#xff0c;展示如何创建一个用户信息表。 包含 SQLite 支持的所有数据类型&#xff0c;同时设置主键为自增、一个字段为唯一索引&#xff0c;以及另一个字段为普通索引&#xff1a; -- 创建用户信息表 CREATE TABLE user_info (id INTEGER PRIMARY KEY AUTOI…...

esp-nimble-cpp:ESP32上轻量级BLE C++开发指南

1. 项目概述esp-nimble-cpp是专为 ESP32 平台设计的 C 封装库&#xff0c;其核心目标是为 Apache NimBLE BLE 协议栈提供面向对象、线程安全且资源高效的抽象层。该库并非简单封装&#xff0c;而是以工程实践为导向的深度重构&#xff1a;它在保持与 nkolban 经典cpp_utilsBLE …...

Linux上的蓝牙架构

我给你捋 Linux 5.x 官方标准蓝牙架构&#xff0c;和 Wi-Fi 架构高度对称&#xff0c;你看完会发现&#xff1a;蓝牙和 Wi-Fi 在 Linux 里设计几乎一模一样。蓝牙架构全程从硬件 → 驱动 → 内核 → 用户态&#xff0c;一层一层讲透。一、一句话总架构&#xff08;和 Wi-Fi 对照…...

【ESP32-S3】通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择

通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择背景一、方案总览&#xff08;两种主流实现&#xff09;方案A&#xff1a;纯透传&#xff08;最简&#xff0c;推荐入门&#xff09;方案B&#xff1a;Micro-ROS&#xff08;标准ROS 2架构&#xff0c;适合完整导航&#xff0…...

BYD 高通8155 OTA项目 我写的一篇专利

草根不要在BYD写专利&#xff0c;我24年1月初开始撰写&#xff0c;24年6月份才提交到专利公司&#xff0c;被驳回是因为有对比文件公开了我的发明点&#xff0c;是重庆赛力斯 4月份公开的&#xff0c;部门内部流程审核极慢&#xff0c;集团IPR找各种理由能拖上你半年&#xff0…...

OpenClaw跨平台实战:千问3.5-9B在mac与Windows的自动化对比

OpenClaw跨平台实战&#xff1a;千问3.5-9B在mac与Windows的自动化对比 1. 为什么需要跨平台对比 去年我在团队内部推广自动化工具时&#xff0c;遇到一个典型问题&#xff1a;同事们的开发环境分散在macOS和Windows两大平台。当我们尝试用OpenClaw千问3.5-9B构建统一自动化流…...

F5 big IP DNS 导出cname txt记录

DNS上的A记录配置与cname不在同一文件中 cname和txt这一类的在下面这个目录 /var/named/config/namedb可以通过winscp连接DNS后&#xff0c;找到这个目录&#xff0c;里面的所有文件即是&#xff0c;之所以有多个文件&#xff0c;是因为每1个权威域都对应1个独立文件...

嵌入式AI开发实战:从MCU到模型部署全流程

1. 嵌入式AI开发实战&#xff1a;从入门到项目落地作为一名在嵌入式领域摸爬滚打多年的工程师&#xff0c;我深知AI技术给这个传统行业带来的变革。记得2018年第一次接触基于MCU的简单图像识别时&#xff0c;那种"原来嵌入式设备也能做AI"的震撼感至今难忘。如今&…...

老马失前蹄,竟然在数据库外键上翻车了,重温外键级联

一、什么是setuptools&#xff1f; setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你&#xff1a; 定义 Python 包的元数据&#xff08;如名称、版本、作者等&#xff09;。 声明包的依赖项&#xff0c;确保你的包能够正确运行。 构建源代码分发包&…...

如何写 Skill

核心概念 Skill 是一个自包含的模块&#xff0c;用来给 Claude/Cascade 注入特定领域的知识、工作流和工具。本质上就是一个"新手入职指南"&#xff0c;让通用 AI 变成某个领域的专家。 目录结构 skill-name/ ├── SKILL.md # 必须&#xff0c;核心文件 └…...

别等宕机才后悔!UPS蓄电池定期巡检,这4点才是核心!

&#xff5c;机房里设备林立&#xff0c;大多数人把目光聚焦在服务器、精密空调上。但其实&#xff0c;潜伏在机房角落的“隐形杀手”&#xff0c;往往是看起来默默无闻的UPS蓄电池。今天我们不谈复杂的技术参数&#xff0c;只用大白话讲清楚&#xff1a;为什么蓄电池必须定期巡…...