pgaudit, anon, pgcrypto, pgsodium, and other Postgres extensions for audit logging, encryption, and data anonymization. Ranked by GitHub stars.
provides auditing functionality
Postgres extension for libsodium functions
Extension for logging and monitoring functions in PostgreSQL
Extension for logging and monitoring functions in PostgreSQL
PostgreSQL Extension Whitelisting
Extension that secures a cluster on a cloud environment
Extension that secures a cluster on a cloud environment
similar to SET ROLE but with added logging
Manage authentication sessions using JWTs
Function for collecting statistics about messages in logfile
Function for collecting statistics about messages in logfile
login_hook - hook to execute login_hook.login() at login time
login_hook - hook to execute login_hook.login() at login time
monitor connection attempts per user
The PostgreSQL Antivirus
pgAudit addon to redirect audit log to an independent file
pgAudit addon to redirect audit log to an independent file
A Postgres extension for managing SSL certificates through SQL
A Postgres extension for managing SSL certificates through SQL
Audit data changes and provide flashback ability
Strengthen PostgreSQL user password checks with cracklib
Strengthen PostgreSQL user password checks with cracklib
PostgreSQL Anonymizer (anon) extension
pause briefly before reporting authentication failure
credcheck - postgresql plain text credential checker
Module for blocking SET variables for non-super users.
label-based mandatory access control (MAC) based on SELinux security policy.
label-based mandatory access control (MAC) based on SELinux security policy.
Security extensions add capabilities Postgres core deliberately leaves out — session and statement-level audit logging (pgaudit), data anonymization for development environments (anon), modern encryption primitives (pgsodium goes beyond pgcrypto with libsodium), trusted language extensions for safer multi-tenant deployments (pg_tle), row-level password policies (passwordcheck), and privilege escalation primitives (set_user). They're typically required for compliance frameworks like PCI-DSS, HIPAA, SOC 2, and GDPR — and increasingly expected by enterprise procurement and security review processes.
Enable pgaudit when you need to log every DDL or DML operation for compliance — most managed Postgres providers support it out of the box. Use anon when developers need realistic test data without exposing PII to staging environments. Use pgsodium for application-layer encryption at the column level (data-at-rest column-encryption with key management). pgcrypto remains the standard for password hashing and basic crypto operations. Don't pile these on speculatively — each adds latency, audit-log volume, and operational complexity; enable per actual compliance or security requirement.
1bench is a modern GUI client for PostgreSQL — install extensions, write queries, and inspect schemas without leaving the IDE.
Try 1bench for PostgreSQL