问题标签 [pgx]
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 - go postgres 重构 pq CopyIn 到 pgx CopyFrom
我正在尝试重构代码,以便使用 pgx 而不是 pq 连接到 postgres DB。我已经尝试了很多东西,但我不断收到错误:不正确的二进制数据格式 (SQLSTATE 22P03)。请在下面找到原始工作代码和我的重构尝试。我究竟做错了什么?
编辑:我从 pgx 文档中得到提示:CopyFrom 要求所有值都使用二进制格式。
问题是我的 id(在上面的代码中记为 stringA)。它被创建为:
我用 pgtype 增强了它,现在它就像一个魅力:
postgresql - pgxpreparedStatement 执行不返回结果(与 fmt.Sprintf 不同)
出于某种原因,我使用 pgx 在 go 中构建的 prepareStatement 没有返回任何结果/行(参见场景 1)。在场景 2 中,如果我使用 Sprintf 和 $ 构建相同的查询,也不会返回结果。
但是,如场景 3 所示,如果我使用带有 %s 占位符的 Sprintf 构建查询并执行它,它将返回结果/行。
我想使用场景 1 的“逻辑”构建/执行查询(使用准备好的语句而不是使用 Sprintf)。有任何想法吗?
我直接在数据库上测试了查询(使用 pgadmin),它有数据/结果。
假设: 我怀疑它可能与以下内容有关:
- 在 WHERE 条件下:uuid 数据类型或在 IN 条件下带有字符串
- 返回一个uuid和一个jsonb的查询结果
详细信息: 数据库是 postgres,表 t 具有以下字段类型:
- t.str1 和 t.properties 是字符串
- t.my_uuid 是 uuid.UUID ( https://github.com/satori/go.uuid )
- tC 是 jsonb
- 我正在使用的 pgx 版本是:github.com/jackc/pgx v3.6.2+incompatible
情景 1
情景 2
情景 3
sql - 如何在类型结构中呈现动态键?
我有一个 PostgreSQL 表,其中有一个 JSONB 文件。该表可以由
在上面的示例中,我使用“0x101”、“0x102”来呈现两个 UID。实际上,它有更多的 UID。
我正在使用jackc/pgx来读取 JSONB 字段。
这是我的代码
正如里面的评论所提到的,上面的代码不起作用。
如何在类型结构中呈现动态键或如何返回所有 JSONB 字段数据?谢谢!
postgresql - 调用“github.com/jackc/pgx”的参数太多。Connect
我正在尝试使用 pgx 打开与 postgres 数据库的连接,但出现以下错误:
我不确定错误要求我在这里做什么。pgx.Connect
当我从主文件调用它时工作,但在这里它不起作用。这是代码:
有任何想法吗?
postgresql - 查询返回“预期 0 个参数,得到 1”
我正在尝试通过在 pgadmin 中直接查询来查询我知道其中包含数据的数据库。当我使用以下代码查询时,它不返回任何结果:
当我通过 goland 和 pgadmin 直接连接到数据库并使用相同的语句查询时,我可以看到所有数据。我在这里想念什么?
postgresql - 将数据导入 PostgreSQL 并导出为 CSV
我正在尝试使用 postgresql(数据库位于远程主机上)进行 csv 导入和导出数据。通常我会使用psql
命令来做\copy <table> from <local path> ...
,\copy <table> to <local path> ...
但我需要能够通过 Go 来做,因为我无法访问 shell 或没有安装 psql 的系统。
数据本身预计会很轻(可能< 2 MB 的数据一起),因此我试图不实现任何结构/模式来跟踪表中的列。导入数据库时,我想通过库/代码推断表的架构并将数据推送到表中。
关于如何实现这一点的任何建议?我不确定是否有任何 Go或database/sql
允许此操作而无法指定列。对此有什么建议吗?pgx
pq
编辑:
我最终使用https://github.com/joho/sqltocsv进行数据库导出,这非常简单,我不必定义任何架构/结构。
我没有代码,但我尝试gorm
并意识到我需要为它定义一些结构/模式。
postgresql - 如何在 go 中使用 postgres 间隔?
我有一个连接到 postgres 数据库的 go 项目。我想在一定天数内删除订单 - 我试过这样做:
这是使用 pgx 库和 pgx 类型。但是,它始终失败并出现此错误:
反正有没有使用postgres间隔?
go - pgxpool 连接和会话
我正在尝试在带有会话变量的 postgresql 上使用行级安全性,我想知道pgxpool连接是否被隔离?例如,database/sql对连接说以下内容:...Queries run on the same Conn will be run in the same database session.
. 这同样适用于 pgxpool 吗?
sql - 带有 ANY 子句的 DELETE 未按预期工作
我正在尝试使用该ANY
子句删除我的 Postgress 数据库中的某些行。
这是结构 -
假设此表具有以下行 -
我想从该表中删除所有具有rId = 1
, oId = abc
AND [ eId != pqr
AND eid != xyz
]的行
我写了下面的查询 -
问题是这不起作用。eId = pqr Or eId = xyz
已经被删除的两行。我该如何纠正?
一个接一个地传递它们不是一种选择(我得到了一个slice
作为eId
参数传递给运行此查询的 go 函数的参数)。
像下面的东西 -
请忽略 , 1
,在此示例abc
中pqr
不是 UUID。为了简洁起见,我保持这种方式。
postgresql - 为另一个操作系统编译 rust pgx 包
我正在尝试为 timescaleDB 编译 rust 包。我正在使用 ubuntu,我正在尝试为 centos 7 编译。
https://github.com/timescale/timescaledb-toolkit
编译后创建两个目录。一种叫板条箱。
如何将此已编译的扩展移动到 centos 并将其安装在 postgres 中?