首页 > 解决方案 > 接收 conn 忙于不同的查询

问题描述

我有一个关于 golang 和执行查询的一般性问题。我使用 gin-gonic 作为我的 http 框架和 pgx 驱动程序来执行不同的查询。我遇到了一些查询返回的问题,conn busy需要知道如何解决这个问题以供将来参考。请注意我使用的一些查询pgx.Conn和其他查询,pgx.Pool我还配置pgx.Pool了最多 10 个连接池。

我的一个示例查询是

SELECT user_id,first_name,last_name,email,users.username,dob,country,is_verified, bio,"+
            "profile_json, tier, casual_games, stream_time, profile_image,"+
            "is_streaming, users.created_at FROM users INNER JOIN profiles ON profiles.username = users.username WHERE users.user_id = $1

标签: sqlpostgresqlgo

解决方案


注意我的一些查询使用 pgx.Conn 和其他 pgx.Pool

https://pkg.go.dev/github.com/jackc/pgx#Conn

Conn 是一个 PostgreSQL 连接句柄。并发使用是不安全的。使用 ConnPool 管理从多个 goroutine 对多个数据库连接的访问​​。

由于使用了非线程安全的 Conn,您的代码似乎必须中断


推荐阅读