问题标签 [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.

0 投票
1 回答
194 浏览

sql - Using jsonb_agg/jsonb_build_object to parse to inner structs

Whenever I try to get (select/scan) the Groups (outer struct) along with their Collaborators (inner structs), I'm getting the following error : // sql: Scan error on column index ..., name "collaborators": unsupported Scan, storing driver.Value type []uint8 into type *[]User

I'm using sqlx (with pgx driver).

the code to fetch from db is :

This is the SQL query :

These are the structs :

I have a simple Group table , a User table and table which represents all users with Permissions to the group :

0 投票
1 回答
485 浏览

postgresql - 使用 psql 数组将问题迁移到 pq 到 pgx

这是我的旧代码:

如何用 pgx 做到这一点?

pgx.Array 似乎不起作用。

0 投票
0 回答
220 浏览

postgresql - 如何获取多主机配置和数据库集群故障转移

在 java 中,我们可以选择使用具有故障转移机制的多主机配置:

我们在 Go 中有这样的支持吗?连接字符串应该是什么样子?我看到没有维护lib/pq

如果它们支持多主机,或者连接字符串的外观,我没有找到任何关于jackc/pgx的信息。请如果有人可以提供一个例子。

0 投票
0 回答
416 浏览

postgresql - 使用 Postgres 在 Google App Engine 上运行 API

我正在尝试使用 Go+Gin+PGX 连接到我的 GAE Postgres SQL 数据库。我激活了 Postgres SQL api,这个程序在我的本地机器上运行,但不在 GAE 上运行。我认为它没有通过 pgx 连接数据库,但我不确定。

main.go在我的本地机器和实例上工作,psql但在部署到 GAE 后无法通过 GCP SQL 实例中的公共 IP 连接到 db。我已经修改了我的工作代码来修复 MWE。

如果我使用 Postman 执行 GET 到 GAE 网站,那么我会得到

相应的 GAE 错误堆栈跟踪示例是

当我查看日志时,我看到...

0 投票
0 回答
208 浏览

amazon-web-services - Postgres 和 Golang 与 pgx 池:如何刷新密码?

我有一个带有 postgres 的 RDS 实例,我通过 IAM 用户进行身份验证。密码是每 15 分钟刷新一次的令牌:

但是,我已经看到令牌过期后连接池引发身份验证错误的问题,并且我没有找到任何好的方法。

我在想的是创建一个函数GetPool并将其注入到我的存储库中,这个函数将返回一个 Pool 对象pgxpool.Pool

getConfig内部将调用BuildAuthToken,但仅每 15 分钟一次(伪代码):

因此,如果 15 分钟过去了,我将重新感染令牌,否则我将使用我已经拥有的令牌。这将是最终的解决方案

那么这种方法效率低吗?有更好的方法吗?谢谢

0 投票
2 回答
171 浏览

postgresql - 使用golang连接到谷歌云VM实例上的postgres?

我正在使用 Golang (github.com/jackc/pgx/v4) 尝试连接到我的计算引擎 VM 实例,但没有任何运气,"Unable to connect to database: failed to connect to host=[IP] user=postgres database=postgres: dial error (dial tcp 127.0.0.1:5433: connectex: No connection could be made because the target machine actively refused it.)"在 GCP 上安装了 postgres 之后:https ://cloud.google.com /社区/教程/设置-postgres

在我使用的 golang 中pgx.Connect(),这是我传递的 DSN: dsn = "pgsql:host=[My external VM IP on GCP];port=5432;dbname=[DB name];user=postgres;password=[my pass]"

我有一种有趣的感觉,我需要连接到一个实例 ID,但是在尝试访问 GCP 上的 VM 时,没有关于我传递的正确主机或正确 DSN 格式的文档。

0 投票
1 回答
1670 浏览

arrays - 在 Pgx 中运行 SELECT * FROM 表查询?

我正在使用 PostgreSQL,并且我正在尝试在 Pgx 中运行 SELECT * FROM 查询。

我似乎无法降低迭代,因为它只返回表中的最后一个键。我还尝试在运行 echo HTTP 服务器库时将其作为 JSON 提供。

main.go 函数(从我的数据库连接文件中导入 connection.Conn)

预期产出

实际输出

有什么帮助吗?

0 投票
0 回答
83 浏览

go - 使用 pgx 将查询值解析为子结构

在 Go 和 pgx 中我很新。有没有办法轻松解析查询中的子结构值?

所以我做了一个加入查询,如:

然后我的结构是

如何将行中返回的数据解析到我的 Rdr 结构中。我需要将正确的字段解析到联系人中,最好是同时解析,但我不知道该怎么做。我看不到 Scan 会如何做到这一点。我们正在查看 FieldDescriptions 和 Values,但它变得非常混乱。有没有简单/常用的方法来做到这一点?我想这是一个非常普遍的问题。

0 投票
1 回答
408 浏览

sql - PlaceHolderFormat 不会在 SQL 期间使用 pgx 驱动程序为 postgres 替换参数值的美元符号

我是 Go 新手,正在尝试根据 postgresql 数据库中的用户名检查密码。

我无法进行美元替换,也不愿求助于连接字符串。

我目前正在使用松鼠,但也尝试过,但运气不佳。

我有以下代码:

当我检查 pgAdmin 时,我看到以下内容,这表明美元符号未被替换:

在此处输入图像描述

0 投票
1 回答
350 浏览

postgresql - 带有 golang pgx 的 postgres 枚举

假设我有一个golang用于pgx连接postgres数据库的微服务。

我有一个具有枚举类型的数据结构:

所以当我尝试插入一条记录时:

它失败了

我找到了一个 pgx 类型enum_array,但我不知道如何使用它。

  • 在 golang 中使用 pgx 在 postgres 中使用枚举的正确方法是什么?