Postgresql - pg_dump - 找不到匹配的模式

stu*_*bgo 3 postgresql pg-dump database-schema

我正在尝试从PostgreSQL数据库创建备份,但收到以下错误:pg_dump:找不到匹配的模式

我以root身份登录并运行命令

pg_dump -f db.dump --format = plain --schema = existing_schema --username = userx --host = localhost databasename

  1. 我用userx登录到psql并尝试了\ dt - 这给了我信息,名为existing_schema的模式是公共的.
  2. 我检查了\ l以查看databasename是数据库名称.
  3. 密码是正确的,否则我无法访问psql.
  4. Localhost是正确的,从正在运行的进程中检查.尝试了服务器的ip-address,但在这种情况下,pg_admin给出了有关主机地址的错误.

输出\ dl:

 
                  List of relations

Schema |                Name                 | Type  | Owner
--------+-------------------------------------+-------+-------
 public | existing_schema                    | table | userx

ron*_*ldt 9

您可以尝试使用反斜杠和双引号,如此处所述.

sudo -u postgres pg_dump -v Database_Name -t "\"Table_Name\""
Run Code Online (Sandbox Code Playgroud)


小智 6

架构的名称是public

existing_schema是公共模式中表的名称。

从你的 pg_dump 命令行中不清楚你想要做什么。

如果您想从架构中导出所有表,您需要指定: public

--模式=公共

如果您只想导出表existing_schema,则需要指定:

--table=现有架构


jua*_*osl 5

对于未来的谷歌用户,在我的例子中,我的模式有点(“my.schema”),解决这个问题的正确方法是转义:

pg_dump -U postgres -d mydatabase --schema \"my.schema\"
Run Code Online (Sandbox Code Playgroud)