PostgreSQL逻辑备份恢复--pg_dump导出及psql导入案例

news/2024/7/3 12:50:58

数据库导入导出是最常用的功能之一。PostgreSQL的备份工具可以使用pg_dump及pg_dumpall。可以通过pg_dump --help获取其使用方法。这里不对其做过多介绍。主要介绍在使用pg_dump及恢复过程中遇到的一个问题。

1、问题
使用pg_dump -c导出后,通过psql导入时报下面的错误:

ERROR:  relation "t1" already exists
ERROR:  duplicate key value violates unique constraint "t1_pkey"
ERROR:  multiple primary keys for table "t1" are not allowed

2、导入导出的操作

pg_dump -U postgres -d yzs -Fa -c -C -f all.sql
psql < all.sql

3、问题分析
1)通过-c导出时在重建database前先drop
2)通过-C导出时导出时导出create database语句
3)每次导入时,虽然库中已有导入的表结构和部分数据,及先执行drop database语句清空,应该不会出现表已存在等错误,但是这种错误确实出现了。原来,在导入时,只要已有连接连着这个database,drop语句就不会执行成功,导致清理数据库失败,后续执行对应语句时会报已存在、重复键、多个主键等错误。
4、解决方法
1)pg_dump导出时,没有选项使导出的语句中带if not exists,不能使之不存在时再创建或插入。
2)保证没有业务连接数据库时才导入,或向一个干净的数据库进行导入

转载于:https://blog.51cto.com/yanzongshuai/2364329


http://www.niftyadmin.cn/n/3484053.html

相关文章

分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)

分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)阅读目录 简介系统特色系统介绍 - 首页系统介绍 - 列表页系统介绍 - 明细页(表单)系统介绍 - 菜单/按钮系统介绍 - 权限中心系统介绍 - 数据权限系统介绍 - 字段权限系统介绍 - 下拉框应用细节结语简介 li…

单点登录 SSO Session

单点登录在现在的系统架构中广泛存在&#xff0c;他将多个子系统的认证体系打通&#xff0c;实现了一个入口多处使用&#xff0c;而在架构单点登录时&#xff0c;也会遇到一些小问题&#xff0c;在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。我将以我所遇到的…

求二维数组的最大子数组和

实验思路&#xff1a; 通过键入二维数组的信息构建二维数组&#xff0c;求出数组所有二位子数组的和并求出最大值 实验代码&#xff1a; package er_wei_shu_zu;import java.util.Scanner;public class rwsz {static Scanner scanner new Scanner(System.in);public static vo…

eclispe 实用插件大全

在一个项目的完整的生命周期中&#xff0c;其维护费用&#xff0c;往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。 注释模板导入步骤 安装方法&#xff1a;打开eclipse/myeclipse选择 window-->P…

Web 性能优化:21 种优化 CSS 和加快网站速度的方法

摘要&#xff1a; 优化CSS。 原文&#xff1a;Web 性能优化&#xff1a;21 种优化 CSS 和加快网站速度的方法作者&#xff1a;前端小智Fundebug经授权转载&#xff0c;版权归原作者所有。 这是 Web 性能优化的第 4 篇&#xff0c;上一篇在下面看点击查看&#xff1a; Web 性能优…

NutzBoot v2.3.1 发布,支持 nacos 配置中心和 ftp 客户端

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; NutzBoot v2.3.1.v20190318 发布。NutzBoot 是以 Nutz 为核心的微服务解决方案&#xff0c;用小的开发成本快速搭建生产级微服务。 新版本支持 nacos 作为配置服务&#xff0c;添加了 ftp 客户端…

python并发模块之concurrent.futures(一)

Python3.2开始&#xff0c;标准库为我们提供了concurrent.futures模块&#xff0c;它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类&#xff0c;实现了对threading和multiprocessing的进一步抽象&#xff0c;对编写线程池/进程池提供了直接的支持,他属于上层的封装&…

”不安全的服务器,不支持 FTP over TLS“ 配置 vsftpd 使用 SSL / TLS

为了解决暴露在公网的 FTP 传输的安全&#xff0c;我们必须对 vsftpd 进行配置 ssl 一、建立证书 1.检查 vsftpd 是否支持 ssl 模块 # ldd $(which vsftpd) | grep ssl 2.建立专门给vsftpd使用的凭证数据。CentOS有一个建立凭证的地方/etc/pki/tls/certs/ # cd /etc/pki/tls/ce…