首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >pg_restore在使用pg_dump备份时指定架构时显示错误

pg_restore在使用pg_dump备份时指定架构时显示错误
EN

Database Administration用户
提问于 2020-10-31 08:06:51
回答 1查看 3.2K关注 0票数 0

我创建了两个不同的转储文件,一个没有指定模式,另一个指定了public模式。

而不指定公共模式“

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pg_dump -h IP_ADDRESS -p 5432 -U my_user -Fc my_db  > my_db_allschema.dump

以及指定公共模式时的pg_dump语句。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pg_dump -h IP_ADDRESS -p 5432 -U my_user -Fc my_db -n public > my_db_publicschema.dump

在使用pg_restore还原转储文件时,在指定公共模式时生成的转储文件会出现错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
postgres@debian:~$ pg_restore -h localhost -p 5432  -U my_user -d my_db my_db_publicschemaonly.dump
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 8; 2615 2200 SCHEMA public postgres
pg_restore: error: could not execute query: ERROR:  schema "public" already exists
Command was: CREATE SCHEMA public;


pg_restore: from TOC entry 212; 1259 18102 TABLE abandoned_url real_estate
pg_restore: error: could not execute query: ERROR:  function public.gen_random_uuid() does not exist
LINE 2:     id uuid DEFAULT public.gen_random_uuid() NOT NULL
                            ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Command was: CREATE TABLE public.abandoned_url (
    id uuid DEFAULT public.gen_random_uuid() NOT NULL
);

查看这个抛出错误的语句

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE public.abandoned_url (
        id uuid DEFAULT public.gen_random_uuid() NOT NULL
    );

它抛出错误的原因是因为pg_dump将public放在gen_random_uuid()之前,当删除gen_random_uuid()之前的public时,下面的语句工作得很好

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE public.abandoned_url (
        id uuid DEFAULT gen_random_uuid() NOT NULL
    );

我是否错误地创建了转储文件?这可能是pg_dump中的一个bug吗?

EN

回答 1

Database Administration用户

发布于 2020-10-31 08:38:09

正如Postgres在这两个命令中使用if exists进行导出一样,但是可以在插入备份之前删除数据库

使用

创建转储

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-c
--clean

输出命令,以便在输出用于创建数据库对象的命令之前清理(删除)数据库对象。(除非-如果也指定了--如果--如果目标数据库中没有任何对象,那么restore可能会生成一些无害的错误消息。)此选项仅对纯文本格式有意义。对于归档格式,可以在调用pg_restore时指定选项。

对于pg_恢复也存在同样的情况,但是如果您在pg_dump中使用它,则这里不需要它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-c
--clean

在重新创建数据库对象之前清除(删除)数据库对象。(除非使用--如果存在,否则可能会生成一些无害的错误消息,如果目标数据库中没有任何对象。)

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/278984

复制
相关文章
从零开始学PostgreSQL-工具篇: 备份与恢复
PostgreSQL 提供了一系列强大的工具来备份和恢复数据库。这些工具包括 pg_dump, pg_restore,pg_dumpall,pg_basebackup。下面是这些工具的简要概述和一些注意事项:
DBA实战
2024/09/13
3710
从零开始学PostgreSQL-工具篇: 备份与恢复
记录一下PostgreSQL的备份和还原
pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。
python与大数据分析
2023/03/02
1.7K0
记录一下PostgreSQL的备份和还原
数据库PostrageSQL-备份和恢复
由于包含着有价值的数据,PostgreSQL数据库应当被定期地备份。虽然过程相当简单,但清晰地理解其底层技术和假设是非常重要的。 有三种不同的基本方法来备份PostgreSQL数据:
cwl_java
2020/12/22
2.1K0
使用Postgres做定时备份和脚本
每次手动备份太麻烦了,工作上需要,决定使用自动备份,所以写个博客来记录一次,本次备份功能是无密码通过批处理来执行定时备份的,如果是windows server r2服务器的话大家可以搭配任务计划程序来做定时执行,如果是linux内核的系统可以用crontab插件,crontab 插件大家可以自行百度,从而形成定时备份数据。
tongyao
2022/06/09
2.3K0
使用Postgres做定时备份和脚本
PostgreSQL备份恢复实现
本文主要介绍pg_dump、pg_dumpall、copy、pg_basebackup的使用。
数据和云
2021/09/22
5.4K0
PostgreSQL备份恢复实现
《PostgreSQL备份与恢复:步骤与最佳实践》
你好,技术圈的小伙伴们!猫头虎博主又来啦!最近发现很多朋友在搜索“PostgreSQL备份方法”、“PostgreSQL恢复数据教程”等关键词,显示了大家对PostgreSQL备份和恢复的浓厚兴趣。那么,这篇《PostgreSQL备份与恢复:步骤与最佳实践》是为了满足大家的这份求知欲。一起深入探讨吧!
猫头虎
2024/04/09
8760
<input type=”file” />浏览时只显示指定文件类型
1.accept=”application/msexcel” 2.accept=”application/msword” 3.accept=”application/pdf” 4.accept=”application/poscript” 5.accept=”application/rtf” 6.accept=”application/x-zip-compressed” 7.accept=”audio/basic” 8.accept=”audio/x-aiff” 9.accept=”audio/x-mpeg” 10.accept=”audio/x-pn/realaudio” 11.accept=”audio/x-waw” 12.accept=”image/gif” 13.accept=”image/jpeg” 14.accept=”image/tiff” 15.accept=”image/x-ms-bmp” 16.accept=”image/x-photo-cd” 17.accept=”image/x-png” 18.accept=”image/x-portablebitmap” 19.accept=”image/x-portable-greymap” 20.accept=”image/x-portable-pixmap” 21.accept=”image/x-rgb” 22.accept=”text/html” 23.accept=”text/plain” 24.accept=”video/quicktime” 25.accept=”video/x-mpeg2″ 26.accept=”video/x-msvideo”
全栈程序员站长
2022/09/13
6950
<input type=”file” />浏览时只显示指定文件类型
postgresql从入门到精通教程 - 第36讲:postgresql逻辑备份
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。
用户5892232
2023/12/01
4180
postgresql从入门到精通教程 - 第36讲:postgresql逻辑备份
GreenPlum备份和恢复工具之gpbackup和gprestore
Greenplum数据库支持并行和非并行方法来备份和还原数据库。并行操作可扩展,而与系统中段的数量无关,因为段主机各自将数据同时写入本地磁盘存储中。对于非并行备份和还原操作,必须通过网络将数据从网段发送到主服务器,主服务器将所有数据写入其存储中。除了将I/O限制在一台主机之外,非并行备份还要求主服务器具有足够的本地磁盘存储空间来存储整个数据库。
AiDBA宝典
2023/11/06
1.9K1
GreenPlum备份和恢复工具之gpbackup和gprestore
HAWQ技术解析(十五) —— 备份恢复
一、为什么还需要备份         HAWQ作为一个数据库管理系统,备份与恢复是其必备功能之一。HAWQ的用户数据存储在HDFS上,系统表存储在master节点主机本地。HDFS上的每个数据块缺省自
用户1148526
2018/01/03
2.1K0
HAWQ技术解析(十五) —— 备份恢复
postgresql常用管理命令
IT不难
2023/11/17
2990
postgresql常用管理命令
PostgreSQL 备份与恢复(第一章)
PostgreSQL官方文档指定了以下三种备份方法,详见:https://www.postgresql.org/docs/current/backup.html
DB之路
2021/07/14
9.8K0
0694-5.10.2--如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务
Cloudera Manager提供了一个嵌入式PostgreSQL数据库服务,用于在创建集群时进行演示和概念验证部署。为了提醒用户此嵌入式数据库不适合生产,Cloudera Manager将显示横幅文本:“您正在非生产模式下运行Cloudera Manager,该模式使用嵌入式PostgreSQL数据库。切换到使用支持的外部数据库,然后再投入生产“。
Fayson
2019/09/03
1.3K0
0694-5.10.2--如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务
从零开始学PostgreSQL (六): 备份和恢复
PostgreSQL 提供了多种备份和恢复策略,旨在满足不同规模和需求的数据库环境。以下是 PostgreSQL 备份和恢复的主要方法概览:
DBA实战
2024/09/06
4660
从零开始学PostgreSQL (六): 备份和恢复
【云原生进阶之数据库技术】第三章-PostgreSQL-管理-2.2-运维操作
切换su - postgres用户(直接在终端输入psql也可实现),在postgres用户下输入\l
江中散人_Jun
2024/03/20
1680
【云原生进阶之数据库技术】第三章-PostgreSQL-管理-2.2-运维操作
R语言在RCT中调整基线时对错误指定的稳健性
众所周知,调整一个或多个基线协变量可以增加随机对照试验中的统计功效。调整分析未被更广泛使用的一个原因可能是因为研究人员可能担心如果基线协变量的影响在结果的回归模型中没有正确建模,结果可能会有偏差。
拓端
2020/07/16
1.7K0
进阶数据库系列(二十):PostgreSQL 数据库备份与恢复
此种方式是直接备份数据库物理文件,在pg数据库里,这通常指的是PGDATA变量定义的文件夹,例如:
民工哥
2023/08/22
7.4K0
进阶数据库系列(二十):PostgreSQL 数据库备份与恢复
笔记分享(4) Tbase/PostgreSQL 常用命令
分享一下之前用到的tbase/pg命令, 主要是和mysql/oracle差别太大了. 做个记录, 方便后面看.
大大刺猬
2021/05/17
3.3K0
RMAN 备份路径困惑(使用plus archivelog时)
--*******************************************
Leshami
2018/08/07
8690
解决Typecho评论时显示「网络错误,检查网络问题」
多次定位问题后发现是手机端User Agent字段过长了,解决方法也很简单,将typecho数据库中评论的数据表typecho_comments表的agent字段长度改为1000即可。
Hsinyan
2022/08/30
9250
解决Typecho评论时显示「网络错误,检查网络问题」

相似问题

运行备份时pg_dump错误

10

使用pg_dump每天创建144个备份

10

执行pg_dump时出现共享内存错误

10

在活动服务器上运行pg_dump时,备份的“最后”数据是什么?

10

AWS RDS数据库在pg_dump/pg_restore之后使用更多的空间

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文