PostgreSQL 中的批量数据导入
-
COPY
命令(从 CSV 文件导入数据): PostgreSQL 提供COPY
命令来从文件中批量导入数据。例如:COPY xykls_tmp_new0 FROM '/path/to/your/data.csv' WITH (FORMAT CSV, HEADER, ENCODING 'UTF8');
xykls_tmp_new0
: 表名,数据将导入到这个表中。/path/to/your/data.csv
: 要导入的 CSV 文件的路径。FORMAT CSV
: 指定文件格式为 CSV。HEADER
: 表示 CSV 文件的第一行是列名。ENCODING 'UTF8'
: 指定编码格式为 UTF8。
在 PostgreSQL 中,你可以使用 COPY
命令或 psql
的输出重定向功能将 SELECT
查询的结果存储到文件中。以下是两种常用的方法:
方法 2: 使用 psql
的输出重定向
如果你在命令行中使用 psql
,可以通过命令行的输出重定向将查询结果保存到文件。
-
先进入
psql
命令行:复制代码
psql -h 10.32.91.6 -d warehouse -U aca230user -p 5432
-
在
psql
中,你可以使用以下命令将查询结果输出到文件:复制代码
\COPY (SELECT * FROM some_table) TO '/path/to/your/file.csv' WITH (FORMAT CSV, HEADER);
说明:
- 使用
\COPY
命令而不是COPY
是因为\COPY
是psql
的命令,它将在客户端进行文件操作,而不是服务器。
方法 1: 使用 COPY
命令
COPY
命令允许你将查询结果直接导出到一个文件中。你需要在 PostgreSQL 的终端或通过 SQL 脚本执行此命令。
复制代码
COPY (SELECT * FROM some_table) TO '/path/to/your/file.csv' WITH (FORMAT CSV, HEADER);
说明:
/path/to/your/file.csv
是你希望保存文件的完整路径。FORMAT CSV
指定输出格式为 CSV。HEADER
选项表示在输出文件中包含列名。
注意: 使用
COPY
命令时,PostgreSQL 服务需要有权限写入指定的路径。如果你在远程服务器上运行 PostgreSQL,确保你指定的路径在数据库服务器上有效。