Postgresql
pg_dump:沒有找到匹配的模式
我正在嘗試從 Postgres 9.4 中轉儲一個模式,在 Cents 6.5 上執行,但出現錯誤:
pg_dump:沒有找到匹配的模式
這是我正在執行的命令:
pg_dump -U postgres -n "OLD-TODELETE-bushes" --verbose site > output_nf
我對此有點困惑,因為當我執行時
select schema_name from information_schema.schemata
,我可以看到架構名稱。如果我為所有模式執行 pg_dump,
OLD-TODELETE-bushes
則會按預期將其轉儲到文件中。Postgres 日誌中沒有錯誤。
誰有想法?
通過將引號從更改為修復此
"schema_name"
問題'"schema_name"'
…湯姆·萊恩回答說:
問題是需要兩個級別的引用:一個用於 shell,另一個用於 SQL。正如你寫的那樣,雙引號被 shell 去掉了,所以 pg_dump 得到了 Schema,它按照正常的 SQL 規則是大小寫折疊的。所以你需要寫:
pg_dump -n '"Schema"' -U postgres database
現在,shell 使用單引號並將“Schema”傳遞給 pg_dump。