For AI agents: the complete documentation index is at llms.txt. Every page is also available as markdown by appending .md to its URL, or by sending an Accept: text/markdown request header.

Postgres wire protocol

These settings control client connections using the PostgreSQL wire protocol, including networking, authentication, query caching, and worker threads.

Server​

pg.enabled​

  • Default: true
  • Reloadable: no

Enable or disable the Postgres wire protocol interface.

pg.worker.affinity​

  • Default: none
  • Reloadable: no

Comma-separated list of CPU core indexes to pin worker threads to. Example: pg.worker.affinity=1,2,3.

pg.worker.count​

  • Default: 0
  • Reloadable: no

Number of dedicated worker threads for PostgreSQL wire protocol queries. When 0, uses the shared worker pool.

pg.worker.fiber.enabled​

  • Default: true
  • Reloadable: no

Runs the dedicated PostgreSQL worker pool in Fiber mode, where a query can suspend and release its worker instead of holding it until it finishes. Setting this to false puts the pool in legacy mode.

This applies only when pg.worker.count is above 0. With the default of 0, PostgreSQL runs on the shared network pool and shared.network.worker.fiber.enabled governs it instead. QuestDB Enterprise resource groups require Fiber mode on whichever pool actually serves PostgreSQL.

pg.daemon.pool​

  • Default: true
  • Reloadable: no

Whether to run all PostgreSQL wire protocol worker threads in daemon mode.

pg.halt.on.error​

  • Default: false
  • Reloadable: no

Whether ingestion should stop upon internal error.

Authentication​

pg.password​

  • Default: quest
  • Reloadable: yes

Postgres database password.

pg.readonly.password​

  • Default: quest
  • Reloadable: yes

Postgres database read-only user password.

pg.readonly.user​

  • Default: user
  • Reloadable: yes

Postgres database read-only user username.

pg.readonly.user.enabled​

  • Default: false
  • Reloadable: yes

Enable or disable the Postgres database read-only user account. When enabled, this additional user can open read-only connections to the database.

pg.user​

  • Default: admin
  • Reloadable: yes

Postgres database username.

Connections​

pg.connection.pool.capacity​

  • Default: 64
  • Reloadable: no

Maximum number of pooled connections for this interface.

pg.net.bind.to​

  • Default: 0.0.0.0:8812
  • Reloadable: no

IP address and port for the Postgres wire protocol server. 0.0.0.0 binds to all network interfaces.

pg.net.connection.hint​

  • Default: false
  • Reloadable: no

Windows-specific flag to overcome OS limitations on TCP backlog size.

pg.net.connection.limit​

  • Default: 64
  • Reloadable: yes

Maximum number of simultaneous Postgres connections. Controls server memory consumption.

pg.net.connection.queue.timeout​

  • Default: 300000
  • Reloadable: no

Time in milliseconds a connection can wait in the listen backlog queue before it is refused. Connections are aggressively removed from the backlog until the active connection limit is breached.

pg.net.connection.rcvbuf​

  • Default: -1
  • Reloadable: no

Maximum send buffer size on each TCP socket. If set to -1, the socket buffer remains unchanged from OS defaults.

pg.net.connection.sndbuf​

  • Default: -1
  • Reloadable: no

Maximum receive buffer size on each TCP socket. If set to -1, the socket buffer remains unchanged from OS defaults.

pg.net.connection.timeout​

  • Default: 300000
  • Reloadable: no

Connection idle timeout in milliseconds. Connections are closed by the server when this timeout lapses.

Buffers​

pg.binary.param.count.capacity​

  • Default: 2
  • Reloadable: no

Initial capacity for the pool used for binary bind variables.

pg.max.blob.size.on.query​

  • Default: 512k
  • Reloadable: no

For binary values, clients receive an error when requesting blob sizes above this value.

pg.recv.buffer.size​

  • Default: 1M
  • Reloadable: yes

Size of the buffer for receiving data.

pg.send.buffer.size​

  • Default: 1M
  • Reloadable: yes

Size of the buffer for sending data.

Security​

pg.security.readonly​

  • Default: false
  • Reloadable: no

Forces PostgreSQL wire protocol read-only mode when true, disabling commands which modify data or data structure (e.g. INSERT, UPDATE, CREATE TABLE).

Query cache​

pg.insert.cache.block.count​

  • Default: 8
  • Reloadable: no

Number of blocks to cache INSERT query execution plans.

pg.insert.cache.enabled​

  • Default: true
  • Reloadable: no

Enable or disable the INSERT query cache. Cache capacity is number_of_blocks * number_of_rows.

pg.insert.cache.row.count​

  • Default: 8
  • Reloadable: no

Number of rows to cache for INSERT query execution plans.

pg.named.statement.limit​

  • Default: 64
  • Reloadable: yes

Size of the named statement pool.

pg.select.cache.block.count​

  • Default: 16
  • Reloadable: no

Number of blocks to cache SELECT query execution plans.

pg.select.cache.enabled​

  • Default: true
  • Reloadable: no

Enable or disable the SELECT query cache. Cache capacity is number_of_blocks * number_of_rows.

pg.select.cache.row.count​

  • Default: 16
  • Reloadable: no

Number of rows to cache for SELECT query execution plans.

pg.update.cache.block.count​

  • Default: 8
  • Reloadable: no

Number of blocks to cache UPDATE query execution plans.

pg.update.cache.enabled​

  • Default: true
  • Reloadable: no

Enable or disable the UPDATE query cache. Cache capacity is number_of_blocks * number_of_rows.

pg.update.cache.row.count​

  • Default: 8
  • Reloadable: no

Number of rows to cache for UPDATE query execution plans.

Internal pools​

pg.character.store.capacity​

  • Default: 4096
  • Reloadable: no

Size of the CharacterStore.

pg.character.store.pool.capacity​

  • Default: 64
  • Reloadable: no

Size of the CharacterStore pool capacity.

Locale​

pg.date.locale​

  • Default: en
  • Reloadable: no

The locale to handle date types.

pg.timestamp.locale​

  • Default: en
  • Reloadable: no

The locale to handle timestamp types.