问题标签 [sqlx]

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

postgresql - 间歇性“对等连接重置”sql postgres

一段时间不活动后,我的 go web 服务在执行第一个 postgres sql 查询时收到一条net.OpError消息。read tcp x.x.x.x:52086->x.x.x.x:24414: read: connection reset by peer错误发生后,后续请求将正常工作。

postgres 数据库由 compose.com 托管,它在 postgres db 前面有 haproxy。我的 go web 应用程序使用标准 sql 和 sqlx。

我试过运行一个db.Ping()每 15 分钟调用一次的代码,但这并没有解决问题。

为什么 go 标准sql库不处理这些连接丢失?

0 投票
0 回答
1089 浏览

go - 使用 sqlx transaction,tx.NamedQuery() 时出现错误

使用 sqlx transaction,tx.NamedQuery() 与 postgresql 运行事务时出现错误。有时我需要第一个 sql 的返回 id 来执行另一个 sql,所以我使用 tx.NamedQuery 而不是 tx.NamedExec()。如果我使用 tx.NamedExec(),代码可以正常工作。

这是代码,谢谢

`

`

输出:

0 投票
0 回答
354 浏览

postgresql - 无法使用 sqlx 库 golang 触发 \copy 命令

我无法使用 golang sql 库触发以下 Exec 命令

db.Exec("\\COPY schema.table TO './tablename.csv' DELIMITER ',' NULL as 'null' CSV HEADER ;") 我在 ""\COPY 或附近出现异常语法错误

如果我使用如下 db.Exec("\COPY schema.table TO './tablename.csv' DELIMITER ',' NULL as 'null' CSV HEADER ;")

我在“\”处或附近收到类似语法错误的错误

我不能将 COPY TO 作为命令触发,因为我应该是超级用户 pq: must be superuser to COPY to or from a file

无论如何要使用 sql 库触发 \copy to 命令?

我能够使用 psql 从 shell 提示符成功运行此命令

0 投票
0 回答
2089 浏览

postgresql - PostgreSQL:从代码执行查询时“pq:关系列不存在”,但在控制台中工作正常

我正在编写用于在我的 api 中与 postgresql db 交互的简单模型,除了一张表之外,它们都可以正常工作。当我尝试运行测试时出现错误:

但是,如果我从 psql 控制台运行相同的查询,一切正常:

这里是 AddUser func 和 Users 结构的代码:

这里测试功能的代码:

这是创建用户表的查询:

我想我在尝试执行此查询时在 AddUser func 某处出错:INSERT INTO users (user_name, user_pass) VALUES (:user_name, :user_pass)

编辑:建立与数据库的连接:

0 投票
1 回答
162 浏览

sql - 如何创建一个插入但随后返回插入数据的事务

我正在研究 REST API,因此我正在尝试为用户实现一种创建新服务票证的方法。

除了将内容存储在数据库(postgres)中之外,一切都运行良好。

这是生成后的交易片段:

使用 sqlx 准备好的语句,我知道结果包含一些元数据,例如最后插入的 id。但是,如何select向我的事务添加查询并获取该查询的结果?

或者,我是否需要进行第二次查询才能获得结果?

我对此很陌生,所以如果我需要提供更多背景信息,请告诉我。

0 投票
1 回答
6873 浏览

go - 使用 sqlx 选择并获取使用情况

我正在使用 go 1.10.3 并且我正在尝试使用 sqlx 包来获取一行并将其输入到带有 的结构中Get(),或者获取几行并将它们输入到带有Select().

让我们从将一行放入结构开始。

我创建了以下结构:

对于查询:

我创建了以下函数来通过 id 获取产品:

我得到了错误

好像Get()功能仅适用于一列..但文档明确指出不是!

如果我将Get()函数调用更改为Psqldb.QueryRowx(QUERY_SELECT_PRODUCT, productId).StructScan(product)

然后它确实有效..但仍然..试图找出为什么Get()不起作用。

下一个..Select()

所以这是结构

sql查询:

和功能

这就是错误

就像我完全误解了 sqlx 库的用法或者我遗漏了一些东西..

任何有关该问题的信息将不胜感激。

0 投票
0 回答
120 浏览

database - 为什么从 sqlx lib 中选择执行这么长时间?

我有一个执行简单 sqlx.Select(...) 的函数:

大多数查询进展顺利(10-20ms),但其中之一,例如:

查询取自日志,未格式化。它执行超过 10 秒(有时甚至超过 20 秒)。但是,从数据库的转储来看,它的执行时间不到 1 秒。所选内容少于 100 行。查询甚至没有“连接”等。只是简单的带有条件的“选择”。

哪个可能更慢?所有时间均由默认 time.Now() 和 time.Since() 测量。

该表具有以下列:

0 投票
1 回答
2637 浏览

go - sqlx.Connect() 和 sqlx.Open() 有什么区别?

我正在为我的 golang 项目使用jmoiron sqlx库。我试图创建一个数据库连接mysql。所以,我找到了这两个函数:sqlx.Connect()and sqlx.Open(),但没有发现区别。

因此,我尝试阅读godoc中的文档。我找到了这个:

sqlx.Connect()

sqlx.Open()

我知道sqlx.Open()使用 golang 创建与数据库的连接sql.Open。但是有什么sqlx.Connect()用呢?

如果我在这里看到源代码:

我可以看到它的调用与sqlx.Open()调用相同db.Ping()。那么唯一的区别是sqlx.Open()创建连接后执行ping?如果是这样,为什么它会ping?是什么让它与众不同?

谢谢

0 投票
3 回答
3779 浏览

mysql - 左连接如何与 sqlx 一起工作

我正在尝试内部连接两个表personprofile使用一个简单的查询,该查询似乎适用于 mysql 但不适用于 sqlx。这是我的代码:

mysql 查询产生以下输出:

这很好,但我的 go 程序没有按预期响应。该结构无法捕获配置文件 ID(输出中为空),并且人员 ID 被替换为配置文件 ID。以下是输出(格式化):

我无法弄清楚出了什么问题。

0 投票
1 回答
95 浏览

sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?

我一直在尝试查询 PostgreSQL ltree。在表中treepath有类型ltree。我可以用 psql 写:

没有问题。当我在 sqlx 中执行以下操作时:

它一直在说pq: operant syntax error。不确定是否有办法在查询字符串中正确转义单引号。我试过了,但还是不行: