标签: pg-dump

如何在 Mac OS 中将 pg_dump 更新为服务器版本

我正在尝试在我的笔记本电脑(PostGresSQL 9.6,PgAdmin3)中备份本地数据库,但我看到以下错误。

pg_dump:服务器版本:9.6.3;pg_dump 版本:9.5.5 pg_dump:由于服务器版本不匹配而中止

我已经尝试了一些关于 SO 的答案,比如在自制软件上更新 postgres,但它也抛出了一个错误。

错误:未安装 postgres

在查看postgres应用程序包的内容时,在versions文件夹中发现了2个文件夹,9.5和9.6。我尝试在两个版本的 bin 文件夹中运行 pg_dump ,我看到的只是这个错误:

在此处输入图片说明

有人可以帮我解决这个问题并备份我的数据库吗

postgresql pg-dump

7
推荐指数
2
解决办法
2712
查看次数

如何在 Hasura 上进行 postgres 数据备份

我想将我的数据从 HasuraDB 的 pg_dump 带到我的本地机器。推荐的方法是什么?

postgresql pg-dump hasura

7
推荐指数
3
解决办法
3131
查看次数

如何从 Postgres 转储中 pg_restore 一张表及其架构?

我在恢复表的架构时遇到一些困难。我转储了 Heroku Postgres 数据库,并使用 pg_restore 将其中一张表恢复到我的本地数据库(它有 20 多个表)。它已成功恢复,但当我尝试将新数据插入表中时遇到问题。

当我使用psql打开数据库时,我发现恢复的表包含所有数据,但其架构有零行。无论如何,我可以从转储中导入表及其架构吗?非常感谢。

这就是我将表恢复到本地数据库的方法:

pg_restore -U postgres --dbname my_db --table=message latest.dump
Run Code Online (Sandbox Code Playgroud)

编辑:

我按照官方文档尝试了类似的操作,但它被阻止了,什么也没有发生。我的数据库很小,不超过几兆字节,并且我尝试恢复的表架构不超过 100 行。

pg_restore -U postgres --dbname mydb --table=message --schema=message_id_seq latest.dump
Run Code Online (Sandbox Code Playgroud)

postgresql pg-dump heroku pg-restore heroku-postgres

7
推荐指数
1
解决办法
3万
查看次数

将 postgresql 本地复制到远程数据库(均带有密码)-错误:无法识别选项“locale”

使用 Postgres 12 / Windows 10。

尝试使用以下命令将远程数据库复制到 localhost:

pg_dump -C -h remotehost -p 5432 -U postgres remotedb | psql -h localhost -p 5432 -U postgres localdb

CMD 请求密码 2x。

Password for user postgres: Password:

我先输入 localhost,按 ENTER,然后输入 remotehost 并再次按 ENTER。

这是我得到的错误回报:

SET
SET
SET
SET
SET
 set_config
------------

(1 row)

SET
SET
SET
SET
ERROR:  option "locale" not recognized
LINE 1: ...ting" WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = '...
                                                             ^
ERROR:  database "remotedb" does not exist
\connect: …
Run Code Online (Sandbox Code Playgroud)

postgresql pg-dump psql postgresql-12 postgresql-13

7
推荐指数
2
解决办法
1470
查看次数

PostgreSQL、pg_dump 和 pg_restore 以及对象依赖顺序

我有个问题。有没有办法强制 PostgreSQL 9.3 备份/恢复模式以正确的依赖对象顺序?(例如:在创建物化视图本身之前,我需要创建一个在物化视图中使用的函数)。我在模式恢复时遇到错误,因为物化视图是在创建函数本身之前创建的。

谢谢

postgresql pg-dump pg-restore

6
推荐指数
0
解决办法
1586
查看次数

如何修复 pg_dump:由于服务器版本不匹配而中止

我的代码库和数据库托管在 Ubuntu 12.04 的不同服务器上。

database => web1

codebase => web2
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过应用程序(web2)获取数据库备份(web1)。

现在的问题是我在 web1 和 web2 上安装了不同版本的 postgres。

pg_dump: server version: 9.3.12 (web1)

pg_dump version: 9.1.23 (web2)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在不升级任何软件包的情况下解决此问题,因为有多个应用程序托管并依赖于这些版本。

感谢您的帮助!

postgresql pg-dump

6
推荐指数
1
解决办法
1万
查看次数

使用 python 模块子进程的 pg_dump & pg_restore 密码

问题:使用PSQLpg_dumppg_restore在Python脚本,并使用该subprocess模块。

背景:我使用python 2.7来自本地主机(即Ubuntu 14.04.5 LTS)的以下脚本在 PSQL 服务器(即PostgreSQL 9.4.11)中创建表的备份,并将其恢复到Ubuntu 16.04.2 LTS较新版本的 PSQL 服务器(即PostgreSQL 9.6.2)中的远程主机(即)。

#!/usr/bin/python

from subprocess import PIPE,Popen

def dump_table(host_name,database_name,user_name,database_password,table_name):

    command = 'pg_dump -h {0} -d {1} -U {2} -p 5432 -t public.{3} -Fc -f /tmp/table.dmp'\
    .format(host_name,database_name,user_name,table_name)

    p = Popen(command,shell=True,stdin=PIPE)

    return p.communicate('{}\n'.format(database_password))

def restore_table(host_name,database_name,user_name,database_password):

    command = 'pg_restore -h {0} -d {1} -U {2} < /tmp/table.dmp'\
    .format(host_name,database_name,user_name)

    p = Popen(command,shell=True,stdin=PIPE)

    return p.communicate('{}\n'.format(database_password))

def …
Run Code Online (Sandbox Code Playgroud)

python subprocess pg-dump pg-restore psql

6
推荐指数
3
解决办法
1万
查看次数

Postgres pg_dump 到 Azure Blob 存储

是否可以使用 Postgrespg_dump将备份写入 Azure Blob 存储?我在 postgres 数据库中的 VM 上有近 2TB 的数据,我需要将所有数据迁移到 Blob 存储。

postgresql pg-dump azure azure-blob-storage

6
推荐指数
1
解决办法
2417
查看次数

Postgres pg_dump 对生产数据库的影响

是否可以查询 db 中有多少多版本行?

我们想测量pg_dump对生产数据库的影响,并在需要时暂停它:它是否创建了太多多版本行?

提前致谢

postgresql pg-dump mvcc

6
推荐指数
1
解决办法
2887
查看次数

如何使用pg_dump/pg_restore更新数据库?

假设我db0在本地计算机和db1远程服务器上都有。我只是想了解db1最新情况db0

my_table假设我向in添加了几行(数千行)db0,现在我想将其插入到my_tablein中db1

关于 pg_dump/pg_restore 的所有食谱和文档都提到了表的完全恢复,但是,我不需要(也不想)删除并my_table从头开始恢复。

是否有任何清晰且简单的方法来制作文件,scp将其发送到服务器并从中pg_restore取出文件?

只需两个命令:pg_dump 和 pg_restore。因为我花了大约两个小时查看文档和演练,发现了新的错误,并且变得越来越困惑。

postgresql pg-dump pg-restore

6
推荐指数
1
解决办法
2427
查看次数