成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

用 PostgreSQL 的 COPY 導入導出 CSV

ethernet / 1883人閱讀

摘要:無意中看到了一篇講數(shù)據(jù)批量導入的文章,才注意到的命令。的直接可以干這個事情,而且導出速度是非??斓???偨Y還有一些其他配置,比如把輸入輸出源指定成和命令,或者指定的等等。合理使用能大大提高效率。

TL;DR

無意中看到了一篇講 數(shù)據(jù)批量導入 的文章,才注意到 PostgreSQL 的 COPY 命令。簡而言之,它用來在文件和數(shù)據(jù)庫之間復制數(shù)據(jù),效率非常高,并且支持 CSV 。

導出 CSV

以前做類似的事情都是用程序語言寫,比如用程序讀取數(shù)據(jù)庫的數(shù)據(jù),然后用 CSV 模塊寫入文件,當數(shù)據(jù)量大的時候還要控制不要一次讀太多,比如一次讀 5000 條,處理完再讀 5000 條之類。

PostgreSQL 的 COPY TO 直接可以干這個事情,而且導出速度是非??斓?。下面例子是把 products 表導出成 CSV :

COPY products
TO "/path/to/output.csv"
WITH csv;

可以導出指定的屬性:

COPY products (name, price)
TO "/path/to/output.csv"
WITH csv;

也可以配合查詢語句,比如最常見的 SELECT

COPY (
  SELECT name, category_name
  FROM products
  LEFT JOIN categories ON categories.id = products.category_id
)
TO "/path/to/output.csv"
WITH csv;
導入 CSV

跟上面的導出差不多,只是把 TO 換成 FROM ,舉例:

COPY products
FROM "/path/to/input.csv"
WITH csv;

這個命令做導入是非常高效的,在開頭那篇博客作者的測試中,COPY 只花了 INSERT 方案 1/3 的時間,而后者還用 prepare statement 優(yōu)化過。

總結

COPY 還有一些其他配置,比如把輸入輸出源指定成 STDIN/STDOUT 和 shell 命令,或者指定 CSV 的 header 等等。這里不再贅述。數(shù)據(jù)庫也有很多細節(jié)可挖,有些簡單卻非常實用。合理使用能大大提高效率。

參考資料

Friends Don’t Let Friends Use Loops
PostgreSQL: COPY

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/38970.html

相關文章

  • PostgreSQL COPY 導入導出 CSV

    摘要:無意中看到了一篇講數(shù)據(jù)批量導入的文章,才注意到的命令。的直接可以干這個事情,而且導出速度是非??斓摹?偨Y還有一些其他配置,比如把輸入輸出源指定成和命令,或者指定的等等。合理使用能大大提高效率。 TL;DR 無意中看到了一篇講 數(shù)據(jù)批量導入 的文章,才注意到 PostgreSQL 的 COPY 命令。簡而言之,它用來在文件和數(shù)據(jù)庫之間復制數(shù)據(jù),效率非常高,并且支持 CSV 。 導出 CS...

    FleyX 評論0 收藏0
  • title: postGreSQL 插件 timescaleDB 安裝使 date: 2019-0

    摘要:基本環(huán)境操作系統(tǒng)安裝安裝和安裝時序數(shù)據(jù)庫插件部署實踐時空數(shù)據(jù)庫德哥官網安裝文檔設置實驗下載測試數(shù)據(jù)創(chuàng)建數(shù)據(jù)庫解壓下載文件創(chuàng)建表結構導入數(shù)據(jù)查詢測試注釋數(shù)據(jù)庫啟動連接數(shù)據(jù)庫創(chuàng) 基本環(huán)境 操作系統(tǒng): centOS 7 postGreSQL : 10 timescaleDB : 1.0 + postGreSQL安裝 Centos7 安裝Postgresql10.5和PostGIS times...

    Kylin_Mountain 評論0 收藏0
  • 【mongoDB運維篇②】備份與恢復(導入導出)

    摘要:導入導出可以操作的是本地的服務器也可以是遠程的服務器所以都有如下通用選項主機端口用戶名密碼導出庫名表名列名查詢條件導出的文件名導出格式便于和傳統(tǒng)數(shù)據(jù)庫交換數(shù)據(jù)導出庫下面的表從哪里導出導出的文檔數(shù)導出庫下 導入/導出可以操作的是本地的mongodb服務器,也可以是遠程的服務器所以,都有如下通用選項: -h host 主機 --port port 端口 -u username 用...

    lakeside 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<