我有3個CSV文件,每個約150k行。他們已經獲得了CSV中的ID,並且其中已經有了assosciations。是否有一種簡單的方法可以跳過id值的自動分配,而是使用CSV中已有的內容?如何將CSV導入到已分配了ID的postgresql?
2
A
回答
3
A serial
列僅從默認的序列中提取下一個數字。如果您爲其寫入值,則默認值將不會生效。您可以將COPY
添加到表(see @Saravanan' answer),然後相應地更新序列。 一個方式做到這一點:
SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;
tbl_id
是表tbl
的連載專欄,從序列tbl_tbl_id_seq
(默認名稱)繪製。
最好在單筆交易在併發負載的情況下。
請注意,這裏沒有錯誤1的錯誤。 Per documentation:
兩個參數的形式設置序列的last_value字段爲 指定的值,並將其
is_called
字段設置爲true,這意味着 下一個nextval
會返回一個值之前提前序列。
大膽重視我的。
2
您可以直接將CSV記錄複製到POSTGRES表中。
COPY table_name FROM '/path/to/csv' DELIMITER ',' CSV;
通過以上方法,我們實際上可以避免通過ActiveRecord對象創建記錄。
相關問題
- 1. 將csv文件導入postgresql
- 2. 將CSV導入到postgresql(Zend/PHP)
- 3. 導入CSV移植到PostgreSQL
- 4. 如何使用django_postgres_copy將無頭文件csv導入到postgresql中?
- 5. PostgreSQL:將列導入到表中,匹配鍵/ ID
- 6. PostGreSQL CSV導入行分隔符
- 7. 將CSV的一部分導入到datagridview
- 8. PostgreSQL csv從MySQL csv導出導入?
- 9. 將大量csv導入postgreSQL中
- 10. postgresql導入csv文件
- 11. 如何將CSV文件導入到QTableWidget
- 12. 如何將CSV導入到web2py表中?
- 13. 如何將CSV導入neo4j
- 14. Postgresql:如何將表導出到單獨的csv文件
- 15. 如何導入CSV到phpMyAdmin?
- 16. 如何在postgreSQL中追加(不導入)csv到表格
- 17. 將CSV值分配到div
- 18. 將舊錶從已刪除的postgresql導入到新近駐留的postgresql
- 19. 以編程方式將CSV導入到PostgreSQL
- 20. 將CSV導入到SQLITE
- 21. 將CSV導入到postgres
- 22. 將Excel .csv導入到SQLite
- 23. 將CSV導入到Apache Ignite
- 24. 將CSV導入到MySQL
- 25. 將postgresql數組導入配置單元
- 26. 導入CSV表定義爲PostgreSQL的
- 27. 導入CSV文本數組的PostgreSQL 9.2
- 28. Google BigQuery - 導入CSV - 如何匹配列?
- 29. Magento的配置導入CSV
- 30. 如何將配置導入到dockerfile。
提供'id'列的值的順序如何? –
@mu必須重置爲相應的值不是? – Saravanan
我很肯定COPY不會爲你做這樣的事情,這樣COPY會給你留下一個破壞的表格(即未來的INSERT可能會因爲重複的PK而失敗),除非你做['setval'](http:///www.postgresql.org/docs/current/static/functions-sequence.html)來修復序列。 –