问题标签 [pq]

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 回答
883 浏览

go - golangs sqlx.DB.Select() 语句中的Bindvars需要0个参数

我正在使用 SQLX 和 PQ 使用 PostGress 查询 SQL 数据库。我正在使用带有 bindvars 的 SQLX 中的函数 Select ,但 PQ 出现恐慌

pq:得到 1 个参数,但语句需要 0。

0 投票
0 回答
534 浏览

postgresql - 在 postgres jsonb 数组中插入会导致 json 转义键和值 - golang pq

我将数据编组为

然后插入

数据写为

{"{\"来自\": \"2010-11-12\", \"直到\": \"2018-3-10\", \"oieId\": \"1212458454\", \"iType \": \"ird\"}"}

即使数据类型是 json.RawMessage,也没有什么能帮助我防止那些转义的内容被写入。

有没有办法只写为 JSON 而不是将 $3 转换为 JSON 或只是阻止这些转义符被写入 jsonb[] 类型的 row ?

任何帮助表示赞赏。谢谢

0 投票
1 回答
2948 浏览

go - 如何为 pq 驱动程序准备一个带有动态表名的 INSERT 语句

您如何INSERT为 pq postgres 驱动程序的准备语句使用动态表名?目前我有一个带有id SERIALvalues TEXT列的测试表,这个语句失败了:

这是失败的:

pq:“$1”处或附近的语法错误

如果我只能对值使用占位符而不是表名,有没有办法在Sprintf这里使用?表名包含string来自用户的输入,虽然我可以对其进行清理,但与让 Postgres 在准备好的语句上返回错误相比,它会减慢插入速度。

0 投票
2 回答
376 浏览

go - 从 Redshift 表中选择时使用 Postgres 数组的应用程序

我在网上看到了许多在从表中选择值时使用数组的示例。这是我针对 Redshift 运行的查询。 select * from table where colID = ANY(array[1]) 当我使用 SQL Workbench 运行此查询时,它运行良好。

我正在尝试使用https://github.com/lib/pq在我的 Go 应用程序中运行相同的查询

上述代码预计将根据https://godoc.org/github.com/lib/pq#Array工作。

但是输出是错误的。

因为错误和行是nil

但是下面的代码有效

谁能解释我为什么会出错?

0 投票
2 回答
668 浏览

sql - 如何设置 intervalstyle = iso_8601 然后在 golang 中运行选择查询

我有一个带有interval列的表,类似这样。

假设存储的值是iso_8601格式的“P3DT1H”。当我尝试读取该值时,它以常规的 postgres 格式出现。

但是我想要iso_8601格式的值。我怎样才能实现它?

0 投票
1 回答
225 浏览

go - 调用 db.Ping() 时的无限循环

我正在尝试创建与数据库的基本连接。当我尝试使用db.Ping();测试连接时,就会出现问题。一切正常,直到我到达这条线。将Ping程序发送到无限循环(函数调用永远不会返回),我不知道如何解决这个问题。

看来我可以很好地连接到数据库,因为sql.Open调用没有返回错误,如果我调用Ping了 http 服务器句柄函数的外部,它也可以正常返回。

任何帮助将不胜感激!

0 投票
1 回答
538 浏览

postgresql - 违反唯一约束会导致整个 pq.CopyIn postgresql 导入失败

我正在尝试使用 pq.CopyIn 进行批量导入,如下所述:

https://godoc.org/github.com/lib/pq

导入比我尝试过的其他方法快得多,但我发现仅在一条记录中违反唯一约束将导致整个导入失败。

有没有办法改变这种行为?是否有一些简单的方法可以找出导致问题的记录?有没有比 pq.CopyIn 更好的选择来快速导入?

对于我的应用程序,我可以对我正在导入的数据进行一些查询和一些检查,但我希望有更好的方法。

0 投票
1 回答
6077 浏览

postgresql - 如何将多行插入到 postgres SQL 中

  1. 是否可以一次将多行插入 Postgres 数据库?有人可以建议是否有办法将切片插入数据库。我为每一行创建了一个切片,并通过将所有行切片附加到它来创建另一个切片(多行)。如何将切片(多行)插入数据库?

  2. 当我创建一个行切片时,我正在使用row := []interface{}{}. 因为我在每一行中都有字符串和 int 字段。看起来我在插入数据时出现错误,错误是unsupported type []interface {}, a slice of interface

执行:

0 投票
0 回答
184 浏览

go - 使用 go sql 在 IN 条件占位符中传递数组数组

介绍

当我尝试在 IN 条件下传递几个值时遇到问题。当我在 postgres 控制台中尝试查询时,它工作正常,但在 go 中执行时失败。

情况

我尝试执行的查询具有以下形式:

在控制台尝试

完美无瑕,但当我尝试它时却没有

我试过的

唯一让我有所收获的是使用pq.Array.

我收到的错误是法语,但大致翻译它可能对应于input of composite type columns is not implemented(原始消息l'ajout de colonnes ayant un type composé n'est pas implémenté)。

我能做的最后一个解决方案是用我的参数在查询中手动替换 s​​tr ,但我宁愿避免。如果这很好,这是来自数据库的数据,在任何地方都没有用户输入,这里没有注入的选项。

感谢您的时间

0 投票
1 回答
4739 浏览

arrays - pq: 函数 unnest(unknown) 不是唯一的

以下代码工作正常。但我想将 array['a', 'b', 'c', 'd', 'e'] 定义为变量。

所以我尝试使用 github.com/lib/pq 来跟踪代码。

但是得到像“pq: function unnest(unknown) is not unique”这样的错误。表结构和样本数据——

基本上我想要在任何特定日期具有值“1”的列名(a、b、c、d 或 e)。