0
我在Mac Sierra上使用Postgres 9.5。我想從本地機器導出一些表數據並將其導入Linux機器上的Postgres 9.5數據庫。注意:我不想在Linux機器上刪除數據,只將本地機器錶行添加到Linux環境中表中已存在的行(並忽略重複項)。所以,我的本地機器上,我跑如何將一些數據導出到本地Postgres數據庫並將其導入到遠程而不刪除遠程的所有數據?
pg_dump -U myusername --format custom --section data --inserts --file "t1.backup" --table "table1" --table "table2" --table "addresses" "mydb"
但是我的遠程機器上,當我嘗試導入該文件,我得到的錯誤
[email protected]:/tmp$ psql db_production < t1.backup
The input is a PostgreSQL custom-format dump.
Use the pg_restore command-line client to restore this dump to a database.
但我不希望使用pg_restore的,因爲我不想刪除現有的表格數據,我只是想添加它。我怎樣才能做到這一點?
有沒有什麼辦法讓INSERT命令包含的列以及值是多少?這兩個表必須有不同的順序列,因爲我得到「命令是:INSERT INTO table2 VALUES(NULL,NULL,1759000,'2016-12-10 05:07:41.857082','2016-12-10 05 :07:41.857207','Jenny Sosh'... pg_restore:[archiver(db)]無法執行查詢:ERROR:整數無效輸入語法:「a6a40213-dcd8-4312-9ff1-ae6c23b31ade」 LINE 1: ...,'7b1df57a-1fc3-4b89-a22b-6ecd33afbe63',50,54,'a6a40213 -...「錯誤,儘管我已驗證它們包含相同的列。 – Dave
使用'--column-inserts' (有關更多信息,請參閱https://www.postgresql.org/docs/current/static/app-pgdump.html) –