0
所有我想從我的服務器上得到的pg_dump恢復我的數據庫。我知道有很多類似的問題,我嘗試了建議,但仍然無法解決我的問題。 我通過這個命令創建我的pg_dump:從pg_dump語法錯誤恢復數據庫
pg_dump name_of_database > name_of_backup_file
然後,我創建新的數據庫:
createdb -T template0 restored_database
然後我恢復使用這個命令:
psql -1 -f name_of_backup_file.sql restored_database
它運行,然後我得到了不同語法錯誤,例如:
psql:nurate_pg_dump.sql:505: invalid command \nWatch
Query buffer reset (cleared).
psql:nurate_pg_dump.sql:512: invalid command \nThe
psql:nurate_pg_dump.sql:513: invalid command \N
psql:nurate_pg_dump.sql:4098: ERROR: syntax error at or near "9"
LINE 1: 9 the course is not difficult, but Zauresh Atakhanova is not...
我相信因爲我從同一臺服務器創建pg_dump,並嘗試恢復它,在我的服務器設置或postgres版本中沒有任何更改,所以我認爲我的db應該可以正確恢復。我該如何解決這些語法錯誤?
編輯:好吧,這個問題是不是與語法:
CREATE EXTENSION
ERROR: must be owner of extension plpgsql
此錯誤是在這行拋出:
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
'invalid command \ N'通常是腳本中的_previous_錯誤的結果。也許一個'create table'失敗了,因此事務應該被回滾。使用'-a'選項運行psql查看失敗的第一條語句 –