问题标签 [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.
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
库不处理这些连接丢失?
go - 使用 sqlx transaction,tx.NamedQuery() 时出现错误
使用 sqlx transaction,tx.NamedQuery() 与 postgresql 运行事务时出现错误。有时我需要第一个 sql 的返回 id 来执行另一个 sql,所以我使用 tx.NamedQuery 而不是 tx.NamedExec()。如果我使用 tx.NamedExec(),代码可以正常工作。
这是代码,谢谢
`
`
输出:
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 提示符成功运行此命令
postgresql - PostgreSQL:从代码执行查询时“pq:关系列不存在”,但在控制台中工作正常
我正在编写用于在我的 api 中与 postgresql db 交互的简单模型,除了一张表之外,它们都可以正常工作。当我尝试运行测试时出现错误:
但是,如果我从 psql 控制台运行相同的查询,一切正常:
这里是 AddUser func 和 Users 结构的代码:
这里测试功能的代码:
这是创建用户表的查询:
我想我在尝试执行此查询时在 AddUser func 某处出错:INSERT INTO users (user_name, user_pass) VALUES (:user_name, :user_pass)
编辑:建立与数据库的连接:
sql - 如何创建一个插入但随后返回插入数据的事务
我正在研究 REST API,因此我正在尝试为用户实现一种创建新服务票证的方法。
除了将内容存储在数据库(postgres)中之外,一切都运行良好。
这是生成后的交易片段:
使用 sqlx 准备好的语句,我知道结果包含一些元数据,例如最后插入的 id。但是,如何select
向我的事务添加查询并获取该查询的结果?
或者,我是否需要进行第二次查询才能获得结果?
我对此很陌生,所以如果我需要提供更多背景信息,请告诉我。
go - 使用 sqlx 选择并获取使用情况
我正在使用 go 1.10.3 并且我正在尝试使用 sqlx 包来获取一行并将其输入到带有 的结构中Get()
,或者获取几行并将它们输入到带有Select()
.
让我们从将一行放入结构开始。
我创建了以下结构:
对于查询:
我创建了以下函数来通过 id 获取产品:
我得到了错误
好像Get()
功能仅适用于一列..但文档明确指出不是!
如果我将Get()
函数调用更改为Psqldb.QueryRowx(QUERY_SELECT_PRODUCT, productId).StructScan(product)
然后它确实有效..但仍然..试图找出为什么Get()
不起作用。
下一个..Select()
所以这是结构
sql查询:
和功能
这就是错误
就像我完全误解了 sqlx 库的用法或者我遗漏了一些东西..
任何有关该问题的信息将不胜感激。
database - 为什么从 sqlx lib 中选择执行这么长时间?
我有一个执行简单 sqlx.Select(...) 的函数:
大多数查询进展顺利(10-20ms),但其中之一,例如:
查询取自日志,未格式化。它执行超过 10 秒(有时甚至超过 20 秒)。但是,从数据库的转储来看,它的执行时间不到 1 秒。所选内容少于 100 行。查询甚至没有“连接”等。只是简单的带有条件的“选择”。
哪个可能更慢?所有时间均由默认 time.Now() 和 time.Since() 测量。
该表具有以下列:
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?是什么让它与众不同?
谢谢
mysql - 左连接如何与 sqlx 一起工作
我正在尝试内部连接两个表person
并profile
使用一个简单的查询,该查询似乎适用于 mysql 但不适用于 sqlx。这是我的代码:
mysql 查询产生以下输出:
这很好,但我的 go 程序没有按预期响应。该结构无法捕获配置文件 ID(输出中为空),并且人员 ID 被替换为配置文件 ID。以下是输出(格式化):
我无法弄清楚出了什么问题。
sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?
我一直在尝试查询 PostgreSQL ltree。在表中tree
,path
有类型ltree
。我可以用 psql 写:
没有问题。当我在 sqlx 中执行以下操作时:
它一直在说pq: operant syntax error
。不确定是否有办法在查询字符串中正确转义单引号。我试过了,但还是不行: