问题标签 [postgresql-copy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1445 浏览

postgresql - 存储在 Postgres 数据库中的单引号

我一直在开发一个 Express 应用程序,该应用程序的表单旨在保存行和引号。

有些行会有单引号('),但总的来说它能够存储信息,我能够备份它并毫无问题地存储它。现在,当我想要pg_dump将数据库放入 SQL 文件时,引号似乎会导致某些内容在我的文本编辑器中显得有些奇怪。

我是否必须创建一种方法将所有单引号更改为双引号,或者我可以保持原样并能够将其上传回数据库而不会造成重大问题。我知道人们会继续输入包含单引号或双引号的行,所以我想知道任何有很大帮助的解决方案或答案。

0 投票
2 回答
16833 浏览

postgresql - 如何在带有 pgadmin4 的 postgresql 中使用 \copy

我想使用该\copy命令制作具有相对路径的 csv 文件。我使用查询从测试表生成名为 test.csv 的 csv 文件

但是在 postgresql pgadmin4 中,它将该\copy命令显示为语法错误(在单词 '\copy' 下有一个下划线)并显示如下消息。

我怎么解决这个问题?

0 投票
3 回答
11392 浏览

postgresql - 将压缩的 CSV 文件导入 PostgreSQL

我有一个很大的压缩 csv 文件(25gb),我想将它导入 PostgreSQL 9.5 版本。有什么快速的方法可以将 zip 或 qzip 文件导入 postgres 而不提取文件?

0 投票
2 回答
3336 浏览

postgresql - 如何在 PostgreSQL 中复制到多个 CSV 文件?

我在 Postgres 中有一个 PostGIS 点数据库,我想将几​​个地理上不同区域的点提取到 CSV 文件中,每个区域一个文件。

我已经建立了一个area带有区域多边形和区域标题的表格,我想有效地循环通过该表格,使用 Postgis 之类的东西st_intersects()来选择要进入每个 CSV 文件的数据,并从 CSV 文件中获取文件名面积表中的标题。

我对执行交集代码和设置 CSV 输出的细节感到满意——我不知道如何为每个区域执行此操作。是否可以通过某种加入来做这样的事情?或者我是否需要使用存储过程来完成,并在 plpgsql 中使用循环构造?

0 投票
1 回答
659 浏览

sql - 将大量行导入具有重复键违规的 Postgres

在 Postgres 9.6 中是否可以使用该命令获得on duplicate keyUPSERT 功能?COPY我有一个要导入 Postgres 的 CSV 文件,但它可能包含一些重复的键违规,因此该COPY命令会给出错误并在遇到它们时终止。

该文件非常大,因此可能无法在应用程序代码中对其进行预处理(以处理可能导致重复键违规的行),因为所有键可能不适合内存。

将大量行导入可能包含重复键违规的 Postgres 的最佳方法是什么?

0 投票
2 回答
1119 浏览

postgresql - 当双引号中有 \n (换行符)时,如何使用 pgloader 或 PostgreSQL 副本解析 CSV?

我有这样的 csv 行:

我想使用 pgloader ( http://pgloader.io/ ) 或 PostgreSQL COPY ( https://www.postgresql.org/docs/9.6/static/sql-copy.html ) 导入这些数据。我的问题是,根据 CSV 标准,在引用的字段值内可能有换行符 (\n)。但是 pgloader 和 COPY 命令将其视为全新的数据行,而不是其中包含换行符的一列。

我的 COPY 命令 我的 pgloader 命令

我从 PostgreSQL 文档和谷歌搜索了很多。

我发现的唯一一件事是:Parsing CSV file with \n in double quotes fields but awk is too slow for a file with more than 100万行。

关于如何做的任何提示?

我的首选是 pgloader,但我可以接受使用 sed 或 perl 作为正则表达式代理来处理 linux shell 脚本中的文件。

关于如何做的任何线索?

0 投票
2 回答
23380 浏览

postgresql - Postgres SQL - 错误:必须是超级用户才能复制到文件或从文件复制

我已经复制了函数(从其中一个门户网站并进行了相应修改)以将数据从 csv 文件复制到表中。

并将参数传递为

选择 load_csv_file('客户','C:\Insert_postgres.csv' ,4)

但收到错误消息

错误:必须是超级用户才能复制到文件或从文件中复制 提示:任何人都可以复制到标准输出或从标准输入。psql 的 \copy 命令也适用于任何人。

这个想法是,我将创建一个自动化测试,如果我想在不同的实例上进行测试,那么测试应该自动创建函数并从 csv 文件复制数据。没有超级用户可以复制数据吗?

0 投票
0 回答
1180 浏览

postgresql - 导出为 CSV (v8.0.2) 时,Postgres \copy 在 STDOUT 处引发语法错误

我正在尝试在我具有只读访问权限的 postgres 实例(v8.0.2)上将查询结果本地下载为 csv。我已经真正阅读了 10 种不同的解决方法,并尝试全部实现它们(hereherehereherehere),但每次尝试执行复制命令时,都会出现以下错误:

这是我尝试过的大约 20 个排列中的五个。foo_bar 表是作为查询输出创建的临时表。

我认为这不是权限问题,就好像它是,当我尝试运行命令时会抛出“权限被拒绝”。我也知道这里的 postgres 记录的 \copy 命令也存在类似的问题,但是对于我的情况没有特别指出。任何帮助将不胜感激!

0 投票
3 回答
23752 浏览

python - COPY 是如何工作的,为什么它比 INSERT 快得多?

今天我花了一天时间改进我的 Python 脚本的性能,该脚本将数据推送到我的 Postgres 数据库中。我以前是这样插入记录的:

然后我重新编写了我的脚本,以便它创建一个内存文件,而不是用于 Postgres 的COPY命令,这让我可以将数据从文件复制到我的表:

这个COPY方法快得惊人

但我找不到任何关于为什么的信息?它与多行的工作方式有何不同INSERT,从而使其速度更快?

另请参阅此基准

0 投票
0 回答
118 浏览

node.js - node / postgres - 从 STDIN 结果复制不完整。不抛出异常

我正在使用node-pg-copy将数据从 mongodb 批量导入到postgresql db.

我使用 observables 来映射从 mongodb 进来的数据,然后将其写入 copyFrom 正在使用的流中。类似于以下内容:

使用调试器工具,我可以看到每个文档都正确映射并写入了流。

该脚本运行没有问题,并且在没有抛出任何异常的情况下完成。无论如何,当我检查 postgres 数据库的结果时,行数比预期的要少。有人知道为什么会这样吗?

注意:该脚本将几个 mongo 集合导入到 postgres 表中,但其中只有两个存在此问题。此外,这两个集合中的行数始终相同。

注二:本代码为简化版。原始脚本处理并发和其他潜在问题,我认为这些问题与此问题无关。

** 编辑:** 我已将 postgres 配置为将日志保存到文件中。文件中的日志也没有显示任何错误。