jackc/pgx · error

config must be created by ParseConfig

Error message

config must be created by ParseConfig

What it means

Error "config must be created by ParseConfig" thrown in jackc/pgx.

Source

Thrown at pgxpool/pool.go:224

// ConnString returns the connection string as parsed by pgxpool.ParseConfig into pgxpool.Config.
func (c *Config) ConnString() string { return c.ConnConfig.ConnString() }

// New creates a new Pool. See [ParseConfig] for information on connString format.
func New(ctx context.Context, connString string) (*Pool, error) {
	config, err := ParseConfig(connString)
	if err != nil {
		return nil, err
	}

	return NewWithConfig(ctx, config)
}

// NewWithConfig creates a new [Pool]. config must have been created by [ParseConfig].
func NewWithConfig(ctx context.Context, config *Config) (*Pool, error) {
	// Default values are set in ParseConfig. Enforce initial creation by ParseConfig rather than setting defaults from
	// zero values.
	if !config.createdByParseConfig {
		panic("config must be created by ParseConfig")
	}

	prepareConn := config.PrepareConn
	if prepareConn == nil && config.BeforeAcquire != nil {
		prepareConn = func(ctx context.Context, conn *pgx.Conn) (bool, error) {
			return config.BeforeAcquire(ctx, conn), nil
		}
	}

	p := &Pool{
		config:                config,
		beforeConnect:         config.BeforeConnect,
		afterConnect:          config.AfterConnect,
		prepareConn:           prepareConn,
		afterRelease:          config.AfterRelease,
		beforeClose:           config.BeforeClose,
		minConns:              config.MinConns,
		minIdleConns:          config.MinIdleConns,

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgxpool/pool.go:224 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04). Data as JSON: /data/errors/54cefda923fe273f.json. Report an issue: GitHub.