请帮助创建等同于 mysql 查询的 postgresql 查询
LOAD DATA LOCAL INFILE 'file.txt' REPLACE INTO TABLE newtable TERMINATED BY ',' IGNORE 1 LINES;
请帮助创建等同于 mysql 查询的 postgresql 查询
LOAD DATA LOCAL INFILE 'file.txt' REPLACE INTO TABLE newtable TERMINATED BY ',' IGNORE 1 LINES;
PostgreSQL 中没有等效的特性——至少在当前的 9.3 或任何以前的版本中是这样。
您必须通过几个步骤执行此操作:
CREATE TEMPORARY TABLE ...
COPY
进入临时表UPDATE ... FROM
后跟 anINSERT INTO ... WHERE NOT EXISTS (...)
以合并数据DROP
临时表搜索“postgresql 批量更新”或“postgresql 复制更新”。
您可能正在寻找COPY
COPY 将由 PostgreSQL 后端(用户“postgres”)运行。后端用户需要读取和写入数据文件的权限才能从/复制到它。您需要在 COPY 中使用绝对路径名。另一方面,\COPY 在当前的 $USER 下运行,并与该用户环境一起运行。\COPY 可以处理相对路径名。如果 psql \COPY 可以处理您需要的内容,那么它会更容易使用。