AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-204144

Russell Christopher's questions

Martin Hope
Russell Christopher
Asked: 2021-06-10 16:18:28 +0800 CST

成功恢复 PostgreSQL 数据库后无模式、表

  • 0

我备份了托管在 PostgreSQL 的 RDS 实例上的堆栈交换存档数据库,如下所示:

pg_dump stackexchange -h <host> -U postgres -password -o > stack.dmp

...几个小时后,我有了一个不错的 151GB 转储文件。

接下来,我将这只小狗恢复到另一个实例:

psql --set ON_ERROR_STOP=on -h <otherhost> -U postgres -d stackexchange -f stack.dmp

...大约一个小时后,它完成了,没有错误。幸福。

奇怪的是,pgadmin4 没有显示应该创建的模式,也没有显示任何表、视图等。与 psql 连接并发出 \dn 只返回公共模式。

对于傻笑,我查看了数据库的大小,它看起来正确(ish):

stackexchange=> SELECT pg_size_pretty( pg_database_size('stackexchange') );
 pg_size_pretty
----------------
 145 GB
(1 row)

我用 head 从转储中抓取前 50 行,一切看起来都很好:

--
-- PostgreSQL database dump
--

-- Dumped from database version 11.10
-- Dumped by pg_dump version 11.11

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: stackoverflow; Type: SCHEMA; Schema: -; Owner: postgres
--

CREATE SCHEMA stackoverflow;


ALTER SCHEMA stackoverflow OWNER TO postgres;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: posthistory; Type: TABLE; Schema: stackoverflow; Owner: postgres
--

CREATE TABLE stackoverflow.posthistory (
    id integer NOT NULL,
    posthistorytypeid integer,
    postid integer,
    revisionguid text,
    creationdate timestamp without time zone NOT NULL,
    userid integer,
    posttext text,
    jsonfield jsonb
);


ALTER TABLE stackoverflow.posthistory OWNER TO postgres;

所以我有点难过。所有这些东西都正确执行。数据库大小合适……但没有对象。

接下来,我很好奇并尝试重新创建应该已经创建的模式(“stackoverflow”):

stackexchange=> create schema stackoverflow;

5 分钟后,我在控制台中没有得到任何响应。psql 只是坐在那里。

在此处输入图像描述

这听起来对任何人来说都很熟悉吗?我很困惑。关于下一步的想法?

编辑:我在 psql 上做了一个 CTRL-BREAK。结果:

stackexchange=> create schema stackoverflow;

^CCancel request sent
ERROR:  canceling statement due to user request
CONTEXT:  while inserting index tuple (0,12) in relation "pg_namespace_nspname_index"
postgresql pg-dump
  • 1 个回答
  • 833 Views
Martin Hope
Russell Christopher
Asked: 2020-03-28 11:15:17 +0800 CST

捕获备份期间打开/提交的事务

  • 0

我必须相信有办法做到这一点,但不清楚如何。但是,对 PostgreSQL 内部的了解还不够。

假设我在 11:00 开始转储数据库,并且我知道转储需要 5 分钟才能完成。

  1. 我有一个在 10:59 创建的未结交易 (T1),因为 [某种原因] 它直到 11:03 才提交
  2. 新事务 (T2) 在 11:01 打开并提交
  3. 另一个事务 (T3) 在 11:03 创建并在 11:04 提交

是否有一种相对直接的方法来捕获 T1-T3 并将它们包含在与我上次备份时间和 11:00 之间发生的所有其他已提交更改相同的存档中?本质上,我想“循环”以捕获在 11-11:05 之间发生的所有活动并将其保存。

postgresql backup
  • 1 个回答
  • 23 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve