Postgres + goodies
Unmodified Postgres with some useful plugins. Our goal with this repo is not to modify Postgres, but to provide some of the most common extensions with a one-click install.
Primary Features
- β Postgres 15.
- β Ubuntu 20.04 (Focal Fossa).
- β wal_level = logical and max_replication_slots = 5. Ready for replication.
- β Large Systems Extensions. Enabled for ARM images.
Extensions
Extension | Version | Description |
---|---|---|
Postgres contrib modules | - | Because everyone should enable pg_stat_statements . |
PostGIS | 3.3.2 | Postgres' most popular extension - support for geographic objects. |
pgRouting | v3.4.1 | Extension of PostGIS - provides geospatial routing functionalities. |
pgTAP | v1.2.0 | Unit Testing for Postgres. |
pg_cron | v1.4.2 | Run CRON jobs inside Postgres. |
pgAudit | 1.7.0 | Generate highly compliant audit logs. |
pgjwt | commit | Generate JSON Web Tokens (JWT) in Postgres. |
pgsql-http | 1.5.0 | HTTP client for Postgres. |
plpgsql_check | 2.2.3 | Linter tool for PL/pgSQL. |
pg-safeupdate | 1.4 | Protect your data from accidental updates or deletes. |
wal2json | commit | JSON output plugin for logical replication decoding. |
PL/Java | 1.6.4 | Write in Java functions in Postgres. |
plv8 | commit | Write in Javascript functions in Postgres. |
pg_plan_filter | commit | Only allow statements that fulfill set criteria to be executed. |
pg_net | v0.6.1 | Expose the SQL interface for async networking. |
rum | 1.3.13 | An alternative to the GIN index. |
pg_hashids | commit | Generate unique identifiers from numbers. |
pgsodium | 3.1.0 | Modern encryption API using libsodium. |
pg_stat_monitor | 1.0.1 | Query Performance Monitoring Tool for PostgreSQL |
pgvector | v0.4.0 | Open-source vector similarity search for Postgres |
pg_repack | ver_1.4.8 | Tool to remove bloat from tables and indexes |
Can't find your favorite extension? Suggest for it to be added into future releases here!
Enhanced Security
This is only available for our AWS EC2/ DO Droplet images
Aside from having ufw,fail2ban, and unattended-upgrades installed, we also have the following enhancements in place:
Enhancement | Description |
---|---|
fail2ban filter for PostgreSQL access | Monitors for brute force attempts over at port 5432 . |
fail2ban filter for PgBouncer access | Monitors for brute force attempts over at port 6543 . |
Additional Goodies
This is only available for our AWS EC2/ DO Droplet images
Goodie | Version | Description |
---|---|---|
PgBouncer | 1.16.1 | Set up Connection Pooling. |
PostgREST | v10.1.1 | Instantly transform your database into an RESTful API. |
WAL-G | v2.0.1 | Tool for physical database backup and recovery. |
Install
See all installation instructions in the repo wiki.
Marketplace Images
Postgres & Extensions | PgBouncer | PostgREST | WAL-G | |
---|---|---|---|---|
Supabase Postgres | βοΈ | β | β | βοΈ |
Supabase Postgres: PgBouncer Bundle | βοΈ | βοΈ | β | βοΈ |
Supabase Postgres: PostgREST Bundle | βοΈ | β | βοΈ | βοΈ |
Supabase Postgres: Complete Bundle | βοΈ | βοΈ | βοΈ | βοΈ |
Availability
AWS ARM | AWS x86 | Digital Ocean x86 | |
---|---|---|---|
Supabase Postgres | Coming Soon | Coming Soon | Coming Soon |
Supabase Postgres: PgBouncer Bundle | Coming Soon | Coming Soon | Coming Soon |
Supabase Postgres: PostgREST Bundle | Coming Soon | Coming Soon | Coming Soon |
Supabase Postgres: Complete Bundle | Coming Soon | Coming Soon | Coming Soon |
Quick Build
$ time packer build -timestamp-ui \
--var "aws_access_key=<insert aws access key>" \
--var "aws_secret_key=<insert aws secret key>" \
--var "ami_regions=<insert desired regions>" \
amazon-arm.json
Motivation
- Make it fast and simple to get started with Postgres.
- Show off a few of Postgres' most exciting features.
- This is the same build we offer at Supabase.
Roadmap
- Support for more images
- Vote for more plugins/extensions
- Open a github issue if you have a feature request
License
The PostgreSQL License. We realize that licensing is tricky since we are bundling all the various plugins. If we have infringed on any license, let us know and we will make the necessary changes (or remove that extension from this repo).
Sponsors
We are building the features of Firebase using enterprise-grade, open source products. We support existing communities wherever possible, and if the products donβt exist we build them and open source them ourselves.