PostgreSQL -- 备份恢复命令
前言
这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:RodmaChen
PostgreSQL -- 备份恢复命令
- 一. pg_dump常用参数
- 二. pg_dumpall
- 三. psql
- 四. pg_restore
- 五.参考文章
PostgreSQL 13.7
一. pg_dump常用参数
pg_dump 把一个数据库转储为纯文本文件或者是其它格式.用法: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 在等待表锁超时后操作失败--no-sync 不用等待变化安全写入磁盘-?, --help 显示此帮助, 然后退出控制输出内容选项:-a, --data-only 只转储数据,不包括模式-b, --blobs 在转储中包括大对象-B, --no-blobs 排除转储中的大型对象-c, --clean 在重新创建之前,先清除(删除)数据库对象-C, --create 在转储中包括命令,以便创建数据库-E, --encoding=ENCODING 转储以ENCODING形式编码的数据-n, --schema=PATTERN dump the specified schema(s) only-N, --exclude-schema=PATTERN do NOT dump the specified schema(s)-O, --no-owner 在明文格式中, 忽略恢复对象所属者-s, --schema-only 只转储模式, 不包括数据-S, --superuser=NAME 在明文格式中使用指定的超级用户名-t, --table=PATTERN dump the specified table(s) only-T, --exclude-table=PATTERN do NOT dump the specified table(s)-x, --no-privileges 不要转储权限 (grant/revoke)--binary-upgrade 只能由升级工具使用--column-inserts 以带有列名的INSERT命令形式转储数据--disable-dollar-quoting 取消美元 (符号) 引号, 使用 SQL 标准引号--disable-triggers 在只恢复数据的过程中禁用触发器--enable-row-security 启用行安全性(只转储用户能够访问的内容)--exclude-table-data=PATTERN do NOT dump data for the specified table(s)--extra-float-digits=NUM 覆盖extra_float_digits的默认设置--if-exists 当删除对象时使用IF EXISTS--include-foreign-data=PATTERNinclude data of foreign tables on foreignservers matching PATTERN--inserts 以INSERT命令,而不是COPY命令的形式转储数据--load-via-partition-root 通过根表加载分区--no-comments 不转储注释--no-publications 不转储发布--no-security-labels 不转储安全标签的分配--no-subscriptions 不转储订阅--no-synchronized-snapshots 在并行工作集中不使用同步快照--no-tablespaces 不转储表空间分配信息--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包括模式以匹配至少一个实体--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 环境变量
的数值.Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>
二. pg_dumpall
相对于pg_dump只能备份单个库,pg_dumpall可以备份整个postgresql实例中所有的数据,包括角色和表空间定义。
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的默认设置--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-tablespaces 不转储表空间分配信息--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脚本写到标准输出.Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>
三. psql
psql --set ON_ERROR_STOP=on dbname < infile
不管怎样,你将只能得到一个部分恢复的数据库。作为另一种选择,你可以指定让整个恢复作为一个单独的事务运行,这样恢复要么完全完成要么完全回滚。这种模式可以通过向psql传递-1或–single-transaction命令行选项来指定。在使用这种模式时,注意即使是很小的一个错误也会导致运行了数小时的恢复被回滚。但是,这仍然比在一个部分恢复后手工清理复杂的数据库要更好。
psql是PostgreSQL 的交互式客户端工具。
使用方法:psql [选项]... [数据库名称 [用户名称]]
通用选项:-c, --command=命令 执行单一命令(SQL或内部指令)然后结束-d, --dbname=DBNAME 指定要连接的数据库 (默认:"xingwai")-f, --file=文件名 从文件中执行命令然后退出-l, --list 列出所有可用的数据库,然后退出-v, --set=, --variable=NAME=VALUE设置psql变量NAME为VALUE(例如,-v ON_ERROR_STOP=1)-V, --version 输出版本信息, 然后退出-X, --no-psqlrc 不读取启动文档(~/.psqlrc)-1 ("one"), --single-transaction作为一个单一事务来执行命令文件(如果是非交互型的)-?, --help[=options] 显示此帮助,然后退出--help=commands 列出反斜线命令,然后退出--help=variables 列出特殊变量,然后退出输入和输出选项:-a, --echo-all 显示所有来自于脚本的输入-b, --echo-errors 回显失败的命令-e, --echo-queries 显示发送给服务器的命令-E, --echo-hidden 显示内部命令产生的查询-L, --log-file=文件名 将会话日志写入文件-n, --no-readline 禁用增强命令行编辑功能(readline)-o, --output=FILENAME 将查询结果写入文件(或 |管道)-q, --quiet 以沉默模式运行(不显示消息,只有查询结果)-s, --single-step 单步模式 (确认每个查询)-S, --single-line 单行模式 (一行就是一条 SQL 命令)输出格式选项 :-A, --no-align 使用非对齐表格输出模式--csv CSV(逗号分隔值)表输出模式-F, --field-separator=STRING为字段设置分隔符,用于不整齐的输出(默认:"|")-H, --html HTML 表格输出模式-P, --pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令)-R, --record-separator=STRING为不整齐的输出设置字录的分隔符(默认:换行符号)-t, --tuples-only 只打印记录i-T, --table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界)-x, --expanded 打开扩展表格输出-z, --field-separator-zero为不整齐的输出设置字段分隔符为字节0-0, --record-separator-zero为不整齐的输出设置记录分隔符为字节0联接选项:-h, --host=主机名 数据库服务器主机或socket目录(默认:"本地接口")-p, --port=端口 数据库服务器的端口(默认:"5432")-U, --username=用户名 指定数据库用户名(默认:"xingwai")-w, --no-password 永远不提示输入口令-W, --password 强制口令提示 (自动)
四. pg_restore
pg_restore 从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.用法:pg_restore [选项]... [文件名]一般选项:-d, --dbname=名字 连接数据库名字-f, --file=文件名 输出文件名(- 对于stdout)-F, --format=c|d|t 备份文件格式(应该自动进行)-l, --list 打印归档文件的 TOC 概述-v, --verbose 详细模式-V, --version 输出版本信息, 然后退出-?, --help 显示此帮助, 然后退出恢复控制选项:-a, --data-only 只恢复数据, 不包括模式-c, --clean 在重新创建之前,先清除(删除)数据库对象-C, --create 创建目标数据库-e, --exit-on-error 发生错误退出, 默认为继续-I, --index=NAME 恢复指定名称的索引-j, --jobs=NUM 执行多个并行任务进行恢复工作-L, --use-list=FILENAME 从这个文件中使用指定的内容表排序输出-n, --schema=NAME 在这个模式中只恢复对象-N, --exclude-schema=NAME 不恢复此模式中的对象-O, --no-owner 不恢复对象所属者-P, --function=NAME(args) 恢复指定名字的函数-s, --schema-only 只恢复模式, 不包括数据-S, --superuser=NAME 使用指定的超级用户来禁用触发器-t, --table=NAME 恢复命名关系(表、视图等)-T, --trigger=NAME 恢复指定名字的触发器-x, --no-privileges 跳过处理权限的恢复 (grant/revoke)-1, --single-transaction 作为单个事务恢复--disable-triggers 在只恢复数据的过程中禁用触发器--enable-row-security 启用行安全性--if-exists 当删除对象时使用IF EXISTS--no-comments 不恢复注释--no-data-for-failed-tables 对那些无法创建的表不进行数据恢复--no-publications 不恢复发行--no-security-labels 不恢复安全标签信息--no-subscriptions 不恢复订阅--no-tablespaces 不恢复表空间的分配信息--section=SECTION 恢复命名节 (数据前、数据及数据后)--strict-names 要求每个表和(或)schema包括模式以匹配至少一个实体--use-set-session-authorization使用 SESSION AUTHORIZATION 命令代替ALTER OWNER 命令来设置所有权联接选项:-h, --host=主机名 数据库服务器的主机名或套接字目录-p, --port=端口号 数据库服务器的端口号-U, --username=名字 以指定的数据库用户联接-w, --no-password 永远不提示输入口令-W, --password 强制口令提示 (自动)--role=ROLENAME 在恢复前执行SET ROLE操作选项 -I, -n, -N, -P, -t, -T, 以及 --section 可以组合使用和指定
多次用于选择多个对象.如果没有提供输入文件名, 则使用标准输入.Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>
五.参考文章
PostgreSQL备份工具pg_dump和pg_dumpall
PPAS数据库备份与恢复
数据库PostrageSQL-备份和恢复
[PostgreSQL学习手册] (有用)
导出整个数据库
pg_dump --dbname=postgres://用户名:'密码'@地址:端口(5432)/数据库 > /导出的地址/数据库名.sql"
导入整个数据库
psql --dbname=postgres://用户名:'密码'@地址:端口(5432)/数据库 < /导入的地址/数据库名.sql
作者:RodmaChen
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。
相关文章:
PostgreSQL -- 备份恢复命令
前言 这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:RodmaChen PostgreSQL -- 备份恢复命令 一. pg_dump常用参数二. pg_dumpall三. psql四. pg_restore五.参考文章 PostgreSQL 13.7 一. pg_dump常用参数 pg_dump 把一个数据…...
【基于Spark的电影推荐系统】环境准备
概览 本科毕设做过电影推荐系统,但当时的推荐算法只有一个,现在已经忘记大部分了,当时也没有记录,因此写这个博客重新来记录一下。此外,技术栈由于快秋招原因来不及做过多的部分,因此只实现简单的功能&…...
团簇大小分布计算方法,fix ave/histo命令详解
LAMMPS是一款广泛应用于分子动力学模拟的强大软件。在模拟过程中,我们经常需要对系统的物理性质进行分析和统计。 fix ave/histo命令则是LAMMPS中一个非常有用的命令,它可以帮助我们对系统进行直方图统计分析。 本文将深入介绍fix ave/histo命令的用法和…...
CAN标准帧和拓展帧
转自:https://www.cnblogs.com/fengliu-/p/9277165.html CAN2.0B标准帧 CAN 标准帧信息为11个字节,包括两部分:信息和数据部分。前3个字节为信息部分。 位置 7 6 5 4 3 2 1 0 字节01 FF RTR DLC(数据长度&#…...
android 清除缓存方法
获得应用的存储信息 private void getAppStorageInfo(String packageName){StorageStatsManager storageStatsManager (StorageStatsManager) context.getSystemService(Context.STORAGE_STATS_SERVICE);StorageManager storageManager (StorageManager) context.getSystemS…...
介绍下你们项目中各微服务之间怎么调用的?
各微服务模块之间的数据交互主要通过一些常见的通信机制进行。以下是几种常见的数据交互方式: RESTful API:REST(Representational State Transfer)是一种基于HTTP协议的通信机制,它使用标准的HTTP方法(如…...
MySql提示:The Server Quit Without Updating PID File(…)失败 103.36.167
01问题 可能是 /usr/local/mysql/data/rekfan.pid 文件没有写的权限 。 解决办法 给予权限,执行 1. # chown -R mysql:mysql /var/data 2. #chmod -R 755 / usr/local/mysql/data 然后重新启动mysqld。 43.242.205 02问题 可能进程里已经存在…...
FPGA学习——按键消抖的两种实现方法
文章目录 一、按键消抖简介1.1、为什么要按键消抖 二、C4开发板原理图三、按键消抖源码3.1、方案一(每当检测到下降沿便开始重新计数)3.2、方案二(检测到第一次下降沿后便开始计数) 四、仿真代码及仿真波形图五、拓展:…...
SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色
SecureCRT如何将复制的内容粘贴到word中仍然保持原有字体颜色 QQ 109792317 说明:当SecureCRT加载了配色文件后,输出的关键字会被不同颜色高亮显示,但是如果复制粘贴到word中会发现成了纯文本,字体颜色消失了。 如何保留 &#x…...
微信小程序分享页面代码
在微信小程序中实现分享功能需要以下几个步骤: 1. 在app.json文件中配置分享参数,例如标题、路径等。示例如下: json { "pages": [ "pages/index/index" ], "window": { "navigationBarTit…...
Hadoop 之 Hbase 配置与使用(四)
Hadoop 之 Hbase 配置与使用 一.Hbase 下载1.Hbase 下载 二.Hbase 配置1.单机部署2.伪集群部署(基于单机配置)3.集群部署1.启动 hadoop 集群2.启动 zookeeper 集群3.启动 hbase 集群4.集群启停脚本 三.测试1.Pom 配置2.Yml 配置3.Hbase 配置类4.Hbase 连…...
使用TensorFlow和VGG-19模型实现艺术风格迁移:一步一步打造你的数字艺术世界
在当下的AI领域,神经风格迁移是最富有创新性和艺术性的技术之一。这项技术可以将一种图像的风格迁移至另一种图像,创造出让人眼前一亮的视觉效果。这种转变所展现的技术之美,让我们深感人工智能所带来的可能性。本文将带领大家一步步通过TensorFlow和VGG-19模型实现风格迁移…...
FBX/GLTF在线转换
3Dconvert是一个可以进行3D模型格式转换的在线工具,并支持3D模型在线预览和转换成果下载。网站访问地址:3D模型在线转换。 1、上传3D模型文件 3D模型在线转换工具的使用非常便捷,首先在网站首页选择需要转换的目标格式,网站支持…...
Tensorflow(二)
一、过拟合 过拟合现象:机器对于数据的学习过于自负(想要将误差减到最小)。 解决方法:利用正规化方法 二、卷积神经网络(CNN) 卷积神经网络是近些年来逐渐兴起的人工神经网络,主要用于图像分类、计算机视觉等。 卷积:例如对图片每一小块像素区域的处理ÿ…...
NoSQL之 Redis 部署,配置与优化
文章目录 NoSQL之 Redis配置与优化一.关系数据库与非关系型数据库1.关系型数据库2.非关系型数据库3.关系型数据库和非关系型数据库区别4.非关系型数据库产生背景 二.Redis简介1.了解Redis2.Redis 具有以下几个优点3.Redis为何这么快 三.Redis 安装及应用1.Redis 安装部署2.Redi…...
汽车行业 Y 公司对接斯堪尼亚 SCANIA EDI 项目案例
斯堪尼亚是一家来自瑞典的重型车辆制造公司,成立于1891年,总部位于斯德哥尔摩,主要专注于生产卡车、客车和工业发动机,以及相应的服务与解决方案。斯堪尼亚的产品以其高品质、可靠性和先进技术而闻名。其卡车广泛应用于货运和运输…...
mysql到doris踩坑记录(如果有问题希望大家帮忙指出问题)
1安装mysql(该步骤晚上很多,不做记录) 2安装docker(同上) 3安装并部署doris(下载镜像步骤省略) sudo docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 \-itd starrocks.docker.scarf.sh/starrocks/allin1-ubuntu 官网地址从 Apache Flink 持续导入 Flink-c…...
苹果11手机设置手机跟踪功能
苹果11手机设置手机跟踪功能,就算是手机丢了,也能通过查询手机定位在哪里。 第一步:点击Apple ID进入详情 第二步:点击“查找” 第三步: 第四步: 到了这步,就算是设置成功。 下面需要到官方查询…...
下拉框可筛选可树状多选组件
实际效果图片 父页面 <el-form-item label"转发:" :label-width"formLabelWidth" class"formflex_item"><el-select ref"select" :clearable"true" clear"clearSelect" remove-tag"r…...
【LeetCode】70.爬楼梯
题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
