← All Modules

assay.postgres

PostgreSQL database helpers. User/database management, grants, Vault integration. Client: postgres.client(host, port, username, password, database?). Database defaults to "postgres". Module helper: M.client_from_vault(vault_client, vault_path, host, port?).

Queries

Connection

Users

Databases

Module Helpers

Example:

local postgres = require("assay.postgres")
local vault = require("assay.vault")
local vc = vault.authenticated_client("http://vault:8200")
local pg = postgres.client_from_vault(vc, "myapp/postgres", "postgres.default.svc", 5432)
pg.users:ensure("myapp", crypto.random(16), {createdb = true})
pg.databases:ensure("myapp_db", "myapp")
pg.databases:grant("myapp_db", "myapp")
pg:close()