sdk/golang/Databases/GoPgxConn
Databases

GoPgxConn

pgx PostgreSQL driver. Connection and Pool types expose Query/Exec/QueryRow that accept raw SQL strings — injection sinks when the SQL is built from user input. pgx is the recommended Postgres driver for new Go projects.

8 sinks
Taint flow0 sources 8 sinks
Sinks — dangerous call
.Exec()
.Query()
.QueryRow()
.ExecEx()
.QueryEx()
.QueryRowEx()
.SendBatch()
.Prepare()

Sinks

.Exec()Sink
#
Signature
Exec(ctx context.Context, sql string, args ...any) (CommandTag, error)

Executes SQL that doesn't return rows. Sink when sql is built from user input.

tracks:1
.Query()Sink
#
Signature
Query(ctx context.Context, sql string, args ...any) (Rows, error)

Executes a query returning rows. SQL injection sink.

tracks:1
.QueryRow()Sink
#
Signature
QueryRow(ctx context.Context, sql string, args ...any) Row

Executes a query returning a single row. SQL injection sink.

tracks:1
.ExecEx()Sink
#
Signature
ExecEx(ctx context.Context, sql string, options *QueryExOptions, args ...any) (CommandTag, error)

pgx v4 compatibility shim for Exec. Same injection risk.

tracks:1
.QueryEx()Sink
#
Signature
QueryEx(ctx context.Context, sql string, options *QueryExOptions, args ...any) (*Rows, error)

pgx v4 compatibility shim for Query. Same injection risk.

tracks:1
.QueryRowEx()Sink
#
Signature
QueryRowEx(ctx context.Context, sql string, options *QueryExOptions, args ...any) *Row

pgx v4 compatibility shim for QueryRow. Same injection risk.

tracks:1
.SendBatch()Sink
#
Signature
SendBatch(ctx context.Context, b *Batch) BatchResults

Sends a batch of queries. Each query in the batch can be an injection sink.

tracks:1
.Prepare()Sink
#
Signature
Prepare(ctx context.Context, name, sql string) (*StatementDescription, error)

Creates a prepared statement. Sink when sql is user-controlled.

tracks:2

Fully-Qualified Names

FQNField
github.com/jackc/pgx/v5.Connfqns[0]
github.com/jackc/pgx/v5/pgxpool.Poolfqns[1]
*.Connpatterns
*.Poolpatterns

Wrong FQN → 0 findings. Verify with: change fqns to garbage → must produce 0 results.

Import

go.mod
require github.com/jackc/pgx/v5 v5.5.5
rule.py
from codepathfinder.go_rule import GoPgxConn

Rules Using This Class