gpt4 book ai didi

postgresql - 模式名称中的点 (.) 使 pg_dump 不可用

转载 作者:行者123 更新时间:2023-11-29 11:43:24 25 4
gpt4 key购买 nike

我有一个名为 2sample.sc 的模式。当我想 pg_dump 它的一些表时,出现以下错误:

pg_dump: No matching tables were found

我的 pg_dump 命令:

pg_dump -U postgres -t 2sample.sc."error_log" --inserts games > dump.sql

我的 pg_dump 在其他模式(如 2sample)上运行良好。

我做了什么:

  • 我试图转义点 (.) 但没有成功

最佳答案

使用 "schema.name.with.dots.in.it"."table.name.with.dots.in.it" 指定schema.table:

        -- test schema with a dot in its name
DROP SCHEMA "tmp.tmp" CASCADE;
CREATE SCHEMA "tmp.tmp" ;
SET search_path="tmp.tmp";

CREATE TABLE nononono
( dont SERIAL NOT NULL
);

insert into nononono
SELECT generate_series(1,10)
;

$pg_dump -t \"tmp.tmp\".\"nononono\" --schema-only -U postgres the_database

输出(截断):

SET search_path = "tmp.tmp", pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;

--
-- Name: nononono; Type: TABLE; Schema: tmp.tmp; Owner: postgres; Tablespace:
--

CREATE TABLE nononono (
dont integer NOT NULL
);

顺便说一句:为什么您要在架构(或表)名称中添加一个点?这是自找麻烦。 MixedCaseNames 也是如此。下划线工作得很好。

关于postgresql - 模式名称中的点 (.) 使 pg_dump 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20784403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com