PostgreSQL Security
Entry points for PostgreSQL authentication, access control, encrypted communication, data protection, and secure operations.
PostgreSQL security combines authentication, authorization, network boundaries, encrypted communication, data protection, and operating procedures. Pigsty provides configuration parameters for these mechanisms. Operators must still harden, verify, and audit the deployment for its environment.
Concepts and Boundaries
| Topic | Content |
|---|---|
| Security and Compliance | Default state, capability boundaries, and hardening path |
| Authentication | HBA, SCRAM, certificate authentication, and credential management |
| Access Control | Built-in roles, default privileges, database ACLs, and instance-access boundaries |
| Encrypted Communication | CA, TLS, server authentication, and certificate rotation |
| Data Security | Page checksums, replication, backup, PITR, audit, and logging |
| Compliance | Launch checks, control mappings, and evidence requirements |
Configuration Reference
- HBA Configuration: declare PostgreSQL and PgBouncer authentication rules.
- Access Control Configuration: configure default roles, application users, object privileges, and database ACLs.
- User Configuration: define user attributes, role membership, and connection-pool options.
- CRIT Parameter Template: critical parameters for synchronous replication, checksums, logging, and watchdog.
Administration and Verification
- User Management: create, update, and remove users.
- HBA Management: refresh rules, inspect effective configuration, and troubleshoot authentication.
- Security Considerations: production hardening and acceptance checklist.
- Security Recommendations: minimum password, network, and file checks before installation.
The inventory describes the required state. Acceptance checks should inspect HBA, certificates, listening ports, and sensitive files on running nodes. They should also verify effective roles and privileges through PostgreSQL catalogs.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)