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
Not the newest: 0.2.4 is current.You are looking at 0.2.3 from 3 Jul 2026. What changed since
Go to 0.2.4

postgres 0.2.3

Superseded
Released
3 Jul 2026
Needs
any doze
Plugin protocol
1
Engines
Postgres 14–18
Platforms
3 of 3
Advisories
None known

0.2.3 sets no oldest doze, so it runs on every doze (0.1.0 and up).

What changed between 0.2.3 and 0.2.4

From doze-modules history
  1. 0.2.42 Nov
    A console: an Activity tab (sessions, their queries, Cancel or Terminate) and a databases table.

Same plugin protocol (1) and the same engines (Postgres 14–18) throughout, so the upgrade needs no change to doze.hcl.

Projects pinned to 0.2.3 keep using it until someone runs doze modules upgrade. Nothing moves on its own: not doze up, not time, not a new release.

From doze 0.2: the newest release your doze can run
$ doze modules upgrade postgres

Artifacts

One signed archive per platform. Files live on GitHub; the registry lists them and signs their checksums.
PlatformFile (downloads from GitHub)SHA-256Signature (ed25519)
macOS arm64
aarch64-apple-darwin
postgres-plugin-0.2.3-aarch64-apple-darwin.tar.gz
b92e4a9242e1a042cd368ad2c0328a9a04c510eb10669827edd45e22091cbb46
SgwSWGrh…UsBA==
Linux arm64
aarch64-unknown-linux-gnu
postgres-plugin-0.2.3-aarch64-unknown-linux-gnu.tar.gz
0c615d46b24495a05583d4a684e68b4f802f18179c7a063ac11fdad5e7278db9
FZ3NyWZu…EZCQ==
Linux x86_64
x86_64-unknown-linux-gnu
postgres-plugin-0.2.3-x86_64-unknown-linux-gnu.tar.gz
4fad3b7e5378eff742031b36a21199a656b17b2fde263f6f479a695449ecc5e3
6DYo8Byg…qoCw==

Every file is under https://github.com/doze-dev/doze-modules/releases/download/postgres/. Intel Macs and Windows have no build; WSL2 uses the Linux x86_64 file.

Signing

The index is signed as a whole, and each archive is signed. doze checks both before anything runs, and refuses a module whose checksum or signature doesn't match.

Key
Nu5y8mbj…Wjw=
Where the key lives
Compiled into doze. doze never fetches or trusts a key on first use.
Namespace
doze
Publisher
doze-dev Official
Index signature
8aqfwb3Y…Cw==
What is signed
Each archive: its lowercase-hex SHA-256. The index: module, namespace, releases and channels as canonical JSON.
Not yet signed
The doze (oldest doze) field sits beside the signed part today. new The design moves it inside.
How signing works

Verify it yourself

[planned: doze modules verify] Today doze runs these checks itself on every download. The same checks by hand, for macOS arm64. Needs OpenSSL 3: the openssl that ships with macOS has no ed25519 (brew install openssl@3).

Checksum, then signature
# 1. download and hash; compare with the table above
$ curl -LO https://github.com/doze-dev/doze-modules/releases/download/postgres/postgres-plugin-0.2.3-aarch64-apple-darwin.tar.gz
$ shasum -a 256 postgres-plugin-0.2.3-aarch64-apple-darwin.tar.gz
b92e4a9242e1a042cd368ad2c0328a9a04c510eb10669827edd45e22091cbb46  postgres-plugin-0.2.3-aarch64-apple-darwin.tar.gz

# 2. the signature is over that hex string, with doze's public key
$ printf %s b92e4a9242e1a042cd368ad2c0328a9a04c510eb10669827edd45e22091cbb46 > digest.txt
$ echo 'SgwSWGrh74Q+EvzKs0bOvcY2TXbj9fF7/gtyy9/oQfOCJmNu6s+8zDIzqrBwBAFQF1cO5zQVn+Hhf+IqEvUsBA==' | base64 -d > sig.bin
$ (printf '\x30\x2a\x30\x05\x06\x03\x2b\x65\x70\x03\x21\x00'; echo 'Nu5y8mbjYv7XEtNFBXwPVl+C8SBteVApIROefBwGWjw=' | base64 -d) > doze-key.der
$ openssl pkeyutl -verify -pubin -keyform DER -inkey doze-key.der -rawin -in digest.txt -sigfile sig.bin
Signature Verified Successfully

What doze.lock records for 0.2.3

A project pinned to 0.2.3 carries this entry. doze modules upgrade replaces it whole: release, engines and checksums move together in one reviewable diff. Every platform's checksum goes in, so a teammate on Linux verifies against the same pin you made on a Mac. Pinned and cached means no network at all.

The engine itself is pinned separately, under engines:. Engine versions

doze.lock
modules:
    doze/postgres:
        version: 0.2.3
        protocol: 1
        engines:
            - "14"
            - "15"
            - "16"
            - "17"
            - "18"
        hashes:
            aarch64-apple-darwin: sha256:b92e4a9242e1a042cd368ad2c0328a9a04c510eb10669827edd45e22091cbb46
            aarch64-unknown-linux-gnu: sha256:0c615d46b24495a05583d4a684e68b4f802f18179c7a063ac11fdad5e7278db9
            x86_64-unknown-linux-gnu: sha256:4fad3b7e5378eff742031b36a21199a656b17b2fde263f6f479a695449ecc5e3
        # no doze: line; 0.2.3 sets no oldest doze