dozeGitHubGet doze
Registry
Check against your doze

Which doze do you run?

doze 0.1.1newest · 2 Jul 2026doze 0.1.02 Jul 2026Stop checkingKept in this browser only. Nothing is sent anywhere.

PostgreSQL

OfficialSigned

Real local Postgres, declared not scripted.

doze/postgres
$ doze add postgres
Newest
0.2.4 · 2 Nov 2026
Needs
any doze
Runs
Postgres 14 – 18
Platforms
macOS arm64 · Linux arm64 · Linux x86_64
Licence
Apache-2.0

Reference

For release 0.2.4 · the module's own description

Arguments

18

Set directly in module postgres "…" { }. The database they describe is named after the instance.

ArgumentTypeDefaultSinceDescription
versionnumberrequirednone0.2.1Engine major to run — 14, 15, 16, 17 or 18.
ownerstringnone0.2.1Owner role for the instance's default database.
encodingstringUTF80.2.1Character-set encoding for the database.
localestringnone0.2.1Locale (LC_COLLATE + LC_CTYPE) for the database.
lc_collatestringnone0.2.1Collation order, overriding locale.
lc_ctypestringnone0.2.1Character classification, overriding locale.
templatestringnone0.2.1Template database to create from.
connection_limitnumber-10.2.1Max concurrent connections to the database.
is_templateboolfalse0.2.1Mark the database as a template.
allow_connectionsbooltrue0.2.1Whether the database accepts connections.
tablespacestringnone0.2.1Tablespace the database lives in.
commentstringnone0.2.1COMMENT applied to the database.
shared_buffersstring16MB0.2.1shared_buffers server setting, e.g. "256MB".
max_connectionsnumber500.2.1max_connections server setting.
fsyncboolfalse0.2.1fsync server setting (off for the dev tuning profile).
autovacuumbooltrue0.2.1autovacuum server setting.
extensionslist(string)none0.2.1Shorthand list of extensions to CREATE (or use extension blocks).Catalog names: coming in postgres 0.3
settingsmap(string)none0.2.1Arbitrary postgresql.conf settings, applied verbatim.

role "<name>"

13 arguments · repeatable

A login role / user, converged on the server. With login = false, a group role to hang grants on.

ArgumentTypeDefaultSinceDescription
passwordstringnone0.2.1Login password.
loginbooltrue0.2.1Whether the role may log in.
superuserboolfalse0.2.1Grant SUPERUSER.
createdbboolfalse0.2.1Allow creating databases.
createroleboolfalse0.2.1Allow creating other roles.
replicationboolfalse0.2.1Allow streaming replication.
inheritbooltrue0.2.1Inherit privileges of member-of roles.
bypassrlsboolfalse0.2.1Bypass row-level security.
connection_limitnumber-10.2.1Per-role connection cap.
valid_untilstringnone0.2.1Password expiry timestamp.
member_oflist(string)none0.2.1Roles this role is granted membership in.
commentstringnone0.2.1COMMENT applied to the role.
configmap(string)none0.2.1Per-role ALTER ROLE … SET settings.

schema "<name>"

1 argument: owner · repeatable

A schema within the database.

ArgumentTypeDefaultSinceDescription
ownerstringnone0.2.1Role that owns the schema.

extension "<name>"

5 arguments · repeatable

A Postgres extension to install (pgvector, postgis, …).

module postgres "postgres" {
  version = 18
  extension "vector" { version = "0.8.7" }
}

Coming in postgres 0.3
Catalog names such as vector are fetched by doze from postgres 0.3. Today a name must ship with Postgres (contrib) or come with a source.

ArgumentTypeDefaultSinceDescription
versionstringnone0.2.1Specific extension version.
schemastringnone0.2.1Schema to install the extension into.
sourcestringnone0.2.1Path to a local extension bundle to install from.
optionalboolfalse0.2.1Skip (don't fail) if the extension is unavailable.
cascadeboolfalse0.2.1CREATE EXTENSION … CASCADE for dependencies.

grant "<role>"

5 arguments · repeatable

A privilege grant to a role. The label is the role that receives it: grant "orders" { privileges = ["ALL"], schema = "orders", objects = "tables" }.

ArgumentTypeDefaultSinceDescription
privilegeslist(string)requirednone0.2.1Privileges to grant (SELECT, INSERT, ALL, …).
databasestringnone0.2.1Target database.
schemastringnone0.2.1Target schema.
objectsstringnone0.2.1Object class the grant applies to (tables, sequences, …).
with_grant_optionboolfalse0.2.1Allow the grantee to re-grant.

Fields every module takes

7 from doze itself: port, listen, enabled, count, for_each, after, sleep

doze reads these on every module block, whatever the module: port, listen, enabled, count, for_each, after, sleep. The doze docs describe each.

Since is the module release that added an argument. Every argument here is in 0.2.1, the oldest release in the index (from doze-modules history; releases do not yet record this, so the column is derived). Descriptions and defaults are the module's own (describe.go on main), so this page cannot drift from what doze accepts.