问题标签 [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.
go - golangs sqlx.DB.Select() 语句中的Bindvars需要0个参数
我正在使用 SQLX 和 PQ 使用 PostGress 查询 SQL 数据库。我正在使用带有 bindvars 的 SQLX 中的函数 Select ,但 PQ 出现恐慌
pq:得到 1 个参数,但语句需要 0。
postgresql - 在 postgres jsonb 数组中插入会导致 json 转义键和值 - golang pq
我将数据编组为
然后插入
数据写为
{"{\"来自\": \"2010-11-12\", \"直到\": \"2018-3-10\", \"oieId\": \"1212458454\", \"iType \": \"ird\"}"}
即使数据类型是 json.RawMessage,也没有什么能帮助我防止那些转义的内容被写入。
有没有办法只写为 JSON 而不是将 $3 转换为 JSON 或只是阻止这些转义符被写入 jsonb[] 类型的 row ?
任何帮助表示赞赏。谢谢
go - 如何为 pq 驱动程序准备一个带有动态表名的 INSERT 语句
您如何INSERT
为 pq postgres 驱动程序的准备语句使用动态表名?目前我有一个带有id SERIAL
和values TEXT
列的测试表,这个语句失败了:
这是失败的:
pq:“$1”处或附近的语法错误
如果我只能对值使用占位符而不是表名,有没有办法在Sprintf
这里使用?表名包含string
来自用户的输入,虽然我可以对其进行清理,但与让 Postgres 在准备好的语句上返回错误相比,它会减慢插入速度。
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
但是下面的代码有效
谁能解释我为什么会出错?
sql - 如何设置 intervalstyle = iso_8601 然后在 golang 中运行选择查询
我有一个带有interval
列的表,类似这样。
假设存储的值是iso_8601
格式的“P3DT1H”。当我尝试读取该值时,它以常规的 postgres 格式出现。
但是我想要iso_8601
格式的值。我怎样才能实现它?
go - 调用 db.Ping() 时的无限循环
我正在尝试创建与数据库的基本连接。当我尝试使用db.Ping()
;测试连接时,就会出现问题。一切正常,直到我到达这条线。将Ping
程序发送到无限循环(函数调用永远不会返回),我不知道如何解决这个问题。
看来我可以很好地连接到数据库,因为sql.Open
调用没有返回错误,如果我调用Ping
了 http 服务器句柄函数的外部,它也可以正常返回。
任何帮助将不胜感激!
postgresql - 违反唯一约束会导致整个 pq.CopyIn postgresql 导入失败
我正在尝试使用 pq.CopyIn 进行批量导入,如下所述:
https://godoc.org/github.com/lib/pq
导入比我尝试过的其他方法快得多,但我发现仅在一条记录中违反唯一约束将导致整个导入失败。
有没有办法改变这种行为?是否有一些简单的方法可以找出导致问题的记录?有没有比 pq.CopyIn 更好的选择来快速导入?
对于我的应用程序,我可以对我正在导入的数据进行一些查询和一些检查,但我希望有更好的方法。
postgresql - 如何将多行插入到 postgres SQL 中
是否可以一次将多行插入 Postgres 数据库?有人可以建议是否有办法将切片插入数据库。我为每一行创建了一个切片,并通过将所有行切片附加到它来创建另一个切片(多行)。如何将切片(多行)插入数据库?
当我创建一个行切片时,我正在使用
row := []interface{}{}
. 因为我在每一行中都有字符串和 int 字段。看起来我在插入数据时出现错误,错误是unsupported type []interface {}, a slice of interface
执行:
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é
)。
我能做的最后一个解决方案是用我的参数在查询中手动替换 str ,但我宁愿避免。如果这很好,这是来自数据库的数据,在任何地方都没有用户输入,这里没有注入的选项。
感谢您的时间
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)。