我正在尝试使用-t执行特定表的postgres转储.但是,该表中有一个大写字母,我得到了"找不到匹配的表格".我尝试在表名周围使用引号和双引号,但它们不起作用.如何让pg识别大写字母?谢谢!
pg_dump -h hostname dbname -t tableName > pgdump.sql
Run Code Online (Sandbox Code Playgroud)
Hou*_*ari 38
以下是以纯模式转储表的完整命令:
pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --format plain --file "complete_path_file" --table "schma_name.\"table_name\"" "database_name"
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
pg_dump -t '"tablename"' database_name > data_base.sql
Run Code Online (Sandbox Code Playgroud)
请看这里的最后一页:文档
在 cmd 窗口中,如果表名包含大写字母,我必须在表名周围加上三个 (!) 双引号。示例 pg_dump -t """Colors""" 数据库 > database.colors.psql
在Windows 7 x64下,以上解决方案不适用于我。PostgreSQL 9.4.5。但这确实(最后):
-t "cms.\"FooContents\""
要么...
pg_dump.exe -p 8888 --username=user -t "cms.\"FooContents\"" basdb
Run Code Online (Sandbox Code Playgroud)
...要么...
pg_dump.exe -p 8888 --username=user -table="cms.\"FooContents\"" basdb
Run Code Online (Sandbox Code Playgroud)