问题标签 [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.
postgresql - 存储在 Postgres 数据库中的单引号
我一直在开发一个 Express 应用程序,该应用程序的表单旨在保存行和引号。
有些行会有单引号('
),但总的来说它能够存储信息,我能够备份它并毫无问题地存储它。现在,当我想要pg_dump
将数据库放入 SQL 文件时,引号似乎会导致某些内容在我的文本编辑器中显得有些奇怪。
我是否必须创建一种方法将所有单引号更改为双引号,或者我可以保持原样并能够将其上传回数据库而不会造成重大问题。我知道人们会继续输入包含单引号或双引号的行,所以我想知道任何有很大帮助的解决方案或答案。
postgresql - 如何在带有 pgadmin4 的 postgresql 中使用 \copy
我想使用该\copy
命令制作具有相对路径的 csv 文件。我使用查询从测试表生成名为 test.csv 的 csv 文件
但是在 postgresql pgadmin4 中,它将该\copy
命令显示为语法错误(在单词 '\copy' 下有一个下划线)并显示如下消息。
我怎么解决这个问题?
postgresql - 将压缩的 CSV 文件导入 PostgreSQL
我有一个很大的压缩 csv 文件(25gb),我想将它导入 PostgreSQL 9.5 版本。有什么快速的方法可以将 zip 或 qzip 文件导入 postgres 而不提取文件?
postgresql - 如何在 PostgreSQL 中复制到多个 CSV 文件?
我在 Postgres 中有一个 PostGIS 点数据库,我想将几个地理上不同区域的点提取到 CSV 文件中,每个区域一个文件。
我已经建立了一个area
带有区域多边形和区域标题的表格,我想有效地循环通过该表格,使用 Postgis 之类的东西st_intersects()
来选择要进入每个 CSV 文件的数据,并从 CSV 文件中获取文件名面积表中的标题。
我对执行交集代码和设置 CSV 输出的细节感到满意——我不知道如何为每个区域执行此操作。是否可以通过某种加入来做这样的事情?或者我是否需要使用存储过程来完成,并在 plpgsql 中使用循环构造?
sql - 将大量行导入具有重复键违规的 Postgres
在 Postgres 9.6 中是否可以使用该命令获得on duplicate key
UPSERT 功能?COPY
我有一个要导入 Postgres 的 CSV 文件,但它可能包含一些重复的键违规,因此该COPY
命令会给出错误并在遇到它们时终止。
该文件非常大,因此可能无法在应用程序代码中对其进行预处理(以处理可能导致重复键违规的行),因为所有键可能不适合内存。
将大量行导入可能包含重复键违规的 Postgres 的最佳方法是什么?
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 脚本中的文件。
关于如何做的任何线索?
postgresql - Postgres SQL - 错误:必须是超级用户才能复制到文件或从文件复制
我已经复制了函数(从其中一个门户网站并进行了相应修改)以将数据从 csv 文件复制到表中。
并将参数传递为
选择 load_csv_file('客户','C:\Insert_postgres.csv' ,4)
但收到错误消息
错误:必须是超级用户才能复制到文件或从文件中复制 提示:任何人都可以复制到标准输出或从标准输入。psql 的 \copy 命令也适用于任何人。
这个想法是,我将创建一个自动化测试,如果我想在不同的实例上进行测试,那么测试应该自动创建函数并从 csv 文件复制数据。没有超级用户可以复制数据吗?
python - COPY 是如何工作的,为什么它比 INSERT 快得多?
今天我花了一天时间改进我的 Python 脚本的性能,该脚本将数据推送到我的 Postgres 数据库中。我以前是这样插入记录的:
然后我重新编写了我的脚本,以便它创建一个内存文件,而不是用于 Postgres 的COPY
命令,这让我可以将数据从文件复制到我的表:
这个COPY
方法快得惊人。
但我找不到任何关于为什么的信息?它与多行的工作方式有何不同INSERT
,从而使其速度更快?
另请参阅此基准:
node.js - node / postgres - 从 STDIN 结果复制不完整。不抛出异常
我正在使用node-pg-copy将数据从 mongodb 批量导入到postgresql db
.
我使用 observables 来映射从 mongodb 进来的数据,然后将其写入 copyFrom 正在使用的流中。类似于以下内容:
使用调试器工具,我可以看到每个文档都正确映射并写入了流。
该脚本运行没有问题,并且在没有抛出任何异常的情况下完成。无论如何,当我检查 postgres 数据库的结果时,行数比预期的要少。有人知道为什么会这样吗?
注意:该脚本将几个 mongo 集合导入到 postgres 表中,但其中只有两个存在此问题。此外,这两个集合中的行数始终相同。
注二:本代码为简化版。原始脚本处理并发和其他潜在问题,我认为这些问题与此问题无关。
** 编辑:** 我已将 postgres 配置为将日志保存到文件中。文件中的日志也没有显示任何错误。