Den*_*man 3 postgresql postgresql-9.6
我尝试使用一个命令:
\n\npg_dump -U postgres -d "ProjectsManagement" -t public.Statuses -a > path\n
Run Code Online (Sandbox Code Playgroud)\n\n但它不起作用并输出:
\n\n\n\n\npg_dump:\xd1\x81\xd0\xbe\xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82\xd1\x81\xd1\x82\xd0\xb2\xd1\x83\xd1\x8e \xd1\x89\xd0\xb8\xd0\xb5 \xd1\x82\xd0\xb0\xd0\xb1\xd0\xbb\xd0\xb8\xd1\x86\xd1\x8b \xd0\xbd\xd0\xb5 \xd0 \xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd1\x8b(英语:未找到表格)
\n
但这个表是存在的,并且没有-t
参数它就可以工作。
怎么了?
\n\n\n\n\\l
输出:
\n\n项目管理 | postgres | UTF8 | 俄罗斯_俄罗斯.1251 |\n 俄罗斯_俄罗斯.1251 |
\n
只需查看 postgres 文档和示例,我就发现了这个特定案例:
要在 -t 和相关开关中指定大写或混合大小写的名称,您需要双引号该名称;否则它将被折叠为小写(请参阅模式)。但双引号对于 shell 来说是特殊的,因此必须反过来将它们加引号。因此,要转储具有混合大小写名称的单个表,您需要类似以下内容:
$ pg_dump -t "\"MixedCaseName\"" mydb > mytab.sql
Run Code Online (Sandbox Code Playgroud)
你可以在这里读到它。
归档时间: |
|
查看次数: |
1034 次 |
最近记录: |