supabase_vault
pg_vault : Supabase Vault Extension
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 7050 | supabase_vault | pg_vault | 0.3.1 |
SEC | Apache-2.0 | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
| --s-d-- | No | Yes | No | Yes | no | no |
| Relationships | |
|---|---|
| Schemas | vault |
| See Also | column_encrypt pg_tde pg_enigma pgsodium pgcryptokey anon pgcrypto pgsmcrypto |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.3.1 |
18 17 16 15 14 | pg_vault |
- |
| RPM | PIGSTY | 0.3.1 |
18 17 16 15 14 | vault_$v |
- |
| DEB | PIGSTY | 0.3.1 |
18 17 16 15 14 | postgresql-$v-vault |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| el8.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| el9.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| el9.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| el10.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| el10.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| d12.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| d12.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| d13.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| d13.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u22.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u22.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u24.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u24.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u26.x86_64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
| u26.aarch64 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 | PIGSTY 0.3.1 |
Source
github.com/supabase/vault
vault-0.3.1.tar.gz
Install
Make sure PGDG and PIGSTY repo available:
Install this extension with pig:
Create this extension with:
Usage
Sources:
supabase_vault 0.3.2 stores encrypted secrets in PostgreSQL and exposes decrypted values through a privileged view. Its fixed schema is vault; the current release no longer requires pgsodium. Upstream tests PostgreSQL 14–19. Install as a superuser; no preload or restart is required.
Core Workflow
The following values are demonstration strings, not real credentials:
vault.create_secret returns the secret UUID and accepts optional name and description. vault.update_secret updates a selected UUID. vault.secrets holds encrypted values and metadata; vault.decrypted_secrets exposes plaintext to roles allowed to read it. Restrict both helper and view privileges deliberately.
Security and Upgrade
Version 0.3.2 moves pg_temp to the end of the search path used by secret creation/update helpers. After installing its files, run ALTER EXTENSION supabase_vault UPDATE TO '0.3.2' in each database.
Encryption at rest does not prevent authorized queries from returning plaintext. Secret literals and returned values can appear in database logs, client histories or application telemetry; use the documented secret workflow and configure those systems appropriately. Protect the encryption-key environment and verify backup/restore behavior. Do not treat access to the decrypted view as safe merely because the stored table is encrypted.