Postgres

QuestDB supports the Postgres wire protocol. As a result, QuestDB is capable of running most of Postgres's queries. This means that you can use your favorite Postgres client or driver with QuestDB, at no extra cost.

The storage model used by Postgres is fundamentally different to the one used by QuestDB. Some features that exists for Postgres do not apply to QuestDB.

Compatibility#

List of supported features#

  • Querying (all types expect BLOB)
  • Prepared statements with bind parameters (check for specific libraries below)
  • INSERT statements with bind parameters (same)
  • DDL execution
  • Batch inserts with JDBC
  • Plain authentication

List of unsupported features#

  • SSL
  • Remote file upload (COPY from stdin)
  • UPDATE and DELETE statements
  • BLOB transfer

Recommended third party tools#

The following list of third party tools includes drivers, clients or utility CLIs that our team has tested extensively. Picking an item from it will guarantee that your code will work with QuestDB.

We recognize that our community might value some features more than others. This is why we encourage you to open an issue on GitHub if you think we are missing something important for your workflow.

CLIs#

PSQL 12#

Support for SELECT, INSERT, CREATE, DROP, TRUNCATE.

Libraries / Programmatic clients#

node-postgres (NodeJS) 8.4#

pq (Go) 1.8#

caution

Bind parameters for both SELECT and INSERT are not supported.

pq (C) 12#

Drivers#

JDBC 42.2#