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_dump和pg_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 是一个用于备份单个数据库的工具。它创建一个可以使用 psql 或 pg_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实现一个带头节点的单链表
什么是单链表? 单链表是一种基础的数据结构,其中每个节点都包含两部分: 数据域:存储节点数据。指针域:存储指向下一个节点的引用。 为什么使用头节点? 头节点的存在简化了操作逻辑: 统一操作…...
【图像配准】方法总结
图像配准(Image registration)就是将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅图像进行匹配、叠加的过程,就是找到1幅图像像素到另1幅图像像素间的空间映射关系它已…...
LabVIEW汽车综合参数测量
系统基于LabVIEW虚拟仪器技术,专为汽车带轮生产中的质量控制而设计,自动化测量和检测带轮的关键参数。系统采用PCIe-6320数据采集卡与精密传感器结合,能够对带轮的直径、厚度等多个参数进行高精度测量,并通过比较测量法判定产品合…...
三相异步电动机没有气压怎么办?
三相异步电动机作为工业和商业应用中最常见的电动机类型之一,广泛应用于各类机械设备及自动化系统中。其运行依赖于电能的转换,然而在某些情况下,可能会出现电动机驱动设备无法获得气压的情况。 一、三相异步电动机工作原理 三相异步电动机…...
软件工程书籍推荐
软件工程推荐这几本书: 1、软件设计的哲学(第2版) 本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分 解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并 提高开发效率。…...
验证集和测试集的区别
验证集(Validation Set)和测试集(Test Set)在机器学习模型训练过程中扮演着不同的角色,以下是它们之间的主要区别: 目的: 验证集:用于在模型训练过程中调整模型的超参数和做出训练…...
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教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 引言 1. 什么是 Core Web Vitals? 1.1 Largest Contentful Paint (LCP) 1.2 First Input Delay (FID) 1.3 Cumulative Layout Shift (CLS) 2. 如何优化 …...
百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!
百度智能云千帆 AppBuilder 发版升级! 进一步降低开发门槛,落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中,企业级 RAG 和 Agent 能力再度提升,同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…...
构建树莓派温湿度监测系统:从硬件到软件的完整指南
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
12.11数据结构-图
无向完全图:在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。 有向完全图:在有向图中,如果任意两个顶点之间都存在方向相反的两条弧,则称该图为有向完全图。 含有n个顶点的无向完全图有…...
BERT模型入门(2)BERT的工作原理
文章目录 如名称所示,BERT(来自Transformer的双向编码器表示)是基于Transformer模型。我们可以将BERT视为只有编码器部分的Transformer。 在上一个主题《Transformer入门》中,我们了解到将句子作为输入喂给Transformer的编码器&a…...
python3 中的成员运算符
一. 简介 在Python 3中,成员运算符用于测试序列(如字符串、列表、元组、集合或字典)中是否包含某个值。身份运算符用于比较两个对象的身份,即它们是否引用内存中的同一个对象。 本文简单学习一下 python3 中的成员运算符与身份运…...
【测试面试篇1】测试开发与开发|selenium实现自动化测试|设计测试用例|常见的测试方法|开发不认可提测试的bug该怎么办
目录 1.选择走测试为什么还要学这么多的开发知识? 2.为什么选择软件测试开发岗位而不是软件开发岗位? 3.个人的职业规划是什么? 4.测试中遇到的问题如何进行解决? 5.对自己的项目做过哪些测试工作? 6.描述selenium…...
人大金仓数据linux安装注意事项
人大金仓数据linux安装注意事项 本次是个人搭建虚拟机安装centos7的环境下进行安装。 1、安装流程参照https://help.kingbase.com.cn/v9/install-updata/install-linux/preface.html。 2、mount安装文件报错 操作手册提供mount的命令如下: mount KingbaseES_V009R0…...
【Maven】多模块项目的构建
项目构建 什么是构建? 项目构建指的是将源代码和资源文件转换为可执行或可分发的软件制品(如 JAR、WAR 文件)的过程。这个过程不仅包括编译代码,还包括运行测试、打包、部署等步骤。Maven 提供了一套标准化的方法来处理这些任务…...
大模型学习笔记------SAM模型详解与思考
大模型学习笔记------SAM模型详解与思考 1、SAM框架概述2、Segment Anything Task3、Segment Anything Model SAM模型是Meta 提出的分割一切模型(Segment Anything Model,SAM)突破了分割界限,极大地促进了计算机视觉基础模型的发展…...
crictl和ctr与docker的命令的对比
crictl是遵循CRI接口规范的一个命令行工具,通常用它来检查和管理kubelet节点上的容器运行时和镜像 ctr是containerd的一个客户端工具, 接下来就是crictl的的常见命令,其中能完全替代docker命令的参照下列表格 操作crictldocker查看运行容器…...
SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)
下面是一个示例,展示如何创建一个用户信息表。 包含 SQLite 支持的所有数据类型,同时设置主键为自增、一个字段为唯一索引,以及另一个字段为普通索引: -- 创建用户信息表 CREATE TABLE user_info (id INTEGER PRIMARY KEY AUTOI…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
DAY 45 超大力王爱学Python
来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...
