pgsql的copy函式
用pgsql的copy函式將檔案匯入表中:
COPY 命令可以快速的匯入資料到postgresql資料庫中,檔案格式類似TXT、CVS之類。適合批量匯入資料,速度比較快。注意COPY只能用於表,不能用於檢視。
COPY 命令裡面的檔案必須是由伺服器直接讀或寫的檔案,而不是由客戶端應用讀寫。因此,它們必須位於資料庫伺服器上或者可以為資料庫伺服器所訪問,而不是由客戶端做這些事情。它們必須是PostgresqlSQL使用者(伺服器執行的使用者 ID)可以訪問到並且可讀或者可寫,而不是客戶端。 COPY 到一個命名檔案是隻允許資料庫超級使用者進行的,因為它允許讀寫任意伺服器有許可權訪問的檔案。
匯出表資料到檔案或 STDOUT
copy命令可以操作的檔案型別有:txt、sql、csv、壓縮檔案、二進位制格式
1、 copy命令匯入資料示例:tb2是表名,delimiter ',' 表示按逗號分隔欄位資料
1 2 3 4 5 6 7 |
count
|
1 2 3 4 |
|
3、 copy命令匯出指定欄位資料在控制檯
1 2 3 4 5 6 7 8 9 10 11 12 |
|
4、copy命令匯入匯出資料為csv格式
1 2 3 4 |
|
5、 copy命令匯入匯出資料為txt格式
1 2 3 4 |
|
6、 copy命令匯出資料為壓縮檔案
1 2 |
|
7、 copy命令匯入匯出檔案為二進位制
用copyto命令以二進位制形式把tb2表的內容拷貝到binary檔案中
1 2 |
|
用copyfrom命令把binary檔案中的資料拷貝到表從tb2中
1 2 |
|
7、將excel表中的資料匯入到Postgresql資料庫的某張表中。
步驟:
1.將excel表格欄位,按照postgresql資料庫中表的欄位順序來整理資料,並儲存為csv檔案。
2.用記事本開啟csv檔案,另存為UTF-8格式。
3.使用客戶端連結postgresql資料庫,執行如下指令碼,匯入csv檔案到Postgresql資料表:
1 |
|
注:testdata是postgresql資料庫表的名稱。
注意事項:
1.test目錄需要賦予postgresql使用者可讀寫的許可權,否則會有如下報錯資訊:
1 |
|
2.csv檔案要為utf-8格式,否則匯入時可能會有報錯:
1 |
|