HiveOps Docs
Database Service

PostgreSQL compatibility

Versions, drivers, and what is not permitted

This is real PostgreSQL, not a reimplementation of its wire protocol. Anything that speaks to PostgreSQL speaks to it.

Versions

PostgreSQL 15, 16, 17 and 18. The version is chosen when the database is created and defaults to the newest.

Drivers

Any PostgreSQL client works. There is no HiveOps driver to install, and there would be no reason for one.

LanguageDriver
Command linepsql
Node.jspg, postgres.js
Pythonpsycopg, asyncpg
Gopgx, lib/pq
JavaThe PostgreSQL JDBC driver
Rubypg
Rusttokio-postgres

Point any of them at the connection URL from your app user's page. See Connecting.

What is not permitted

A database is a database, not a server you administer. Some things are therefore out of reach.

No superuser. App users are given capabilities, which are group roles carrying specific privileges. None of them is superuser, and superuser is not available on request.

No CREATE DATABASE. Creating a database needs a role attribute that is never granted. Create databases through the console, where they get a region, a version and an endpoint.

No DROP DATABASE. Dropping one needs ownership that stays with the owner role. Delete through the console.

No replication. The replication attribute is not granted.

Everything inside a database is yours: schemas, tables, views, functions, procedures, indexes, types and extensions your capability allows.

Connection limits

An app user can carry a connection limit, which caps how many connections that login holds at once. See App users.

If your application opens and closes connections per request, use a connection pooler in the application. PostgreSQL connections are not cheap, and a pool is the normal answer regardless of who is hosting the database.

On this page