From bb5d6e6db3d0341fb1f972273ea7b3e96885cd8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Wed, 16 Jul 2025 23:14:34 -0400 Subject: [PATCH] add `AfterConnect` callback to pgx pool config --- diamond.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/diamond.go b/diamond.go index 8aaaeac..2ed14d7 100644 --- a/diamond.go +++ b/diamond.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgconn" "github.com/jackc/pgx/v5/pgxpool" "io" "log/slog" @@ -177,6 +178,14 @@ func Open(connString string, cfg *Config) (*Engine, error) { e.pgCfg.MinConns = 5 e.pgCfg.MaxConns = 10 e.pgCfg.MaxConnIdleTime = time.Minute * 2 + e.pgCfg.AfterConnect = func(ctx context.Context, conn *pgx.Conn) error { + oldHandler := conn.Config().OnPgError + conn.Config().OnPgError = func(conn *pgconn.PgConn, pgError *pgconn.PgError) bool { + e.logger.Error("ERROR ->", "err", pgError.Error()) + return oldHandler(conn, pgError) + } + return nil + } if err != nil { return nil, err }