将 100 个 csv 文件导入 postgresql

mic*_*hal 4 postgresql import csv

我有 100 个 csv 文件,依次命名为 1,2,3....100.csv

我用这个脚本复制 csv 文件:

COPY location FROM 'C:\Program Files\PostgreSQL\9.5\data\´1.csv' DELIMITER ','; 
Run Code Online (Sandbox Code Playgroud)

我会用一个涵盖所有文件(1,2,3 .... 100.csv)的脚本来执行复制。

我在 MS Windows 上使用 pgadminIII

joa*_*olo 6

您可以使用pgScript

DECLARE @i, @filename; 
SET @i = 1;
WHILE @i <= 100 
BEGIN
    SET @filename = 'C:\\Program Files\\PostgreSQL\\9.5\\data\\' + CAST(@i AS STRING) + '.csv' ;
    COPY location FROM '@filename' DELIMITER ',' ; 
    SET @i = @i + 1;
END
Run Code Online (Sandbox Code Playgroud)

注意:您不应将 CSV 文件放在PostgreSQL 数据目录下。此目录供数据库引擎使用,而不是供用户使用。错误地覆盖或删除任何 PostgreSQL 文件可能会使您的数据库变得无用。

您应该将文件保存C:\Users\user\Documents\CSV\...在“userland”下或类似位置的某个位置,并为该目录授予适当的权限以供 PostgreSQL 进程读取。对于此版本的标准安装,您通常需要向LocalSystem帐户授予读取权限。某些安装可以使用 Postgres 帐户)。


注意 2:pgScript 没有太大的吸引力。它没有被移植到 pgAdmin 4。