You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+71-16
Original file line number
Diff line number
Diff line change
@@ -2,21 +2,44 @@
2
2
3
3
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.
4
4
5
-
## Features
6
-
7
-
- ✅ Postgres [12](https://www.postgresql.org/about/news/1976/). Includes [generated columns](https://www.postgresql.org/docs/12/ddl-generated-columns.html) and [JSON path](https://www.postgresql.org/docs/12/functions-json.html#FUNCTIONS-SQLJSON-PATH) support.
8
-
- ✅ Ubuntu 18.04 (Bionic).
9
-
- ✅ [pg-contrib-12](https://www.postgresql.org/docs/12/contrib.html). Because everyone should enable `pg_stat_statements`.
- ✅ [pgjwt](https://github.com/michelp/pgjwt). Generate JSON Web Tokens (JWT) in Postgres.
15
-
- ✅ [pgsql-http](https://github.com/pramsey/pgsql-http). HTTP client for Postgres.
16
-
- ✅ [plpgsql_check](https://github.com/okbob/plpgsql_check). Linter tool for PL/pgSQL.
17
-
- ✅ [plv8](https://github.com/plv8/plv8). Write in Javascript functions in Postgres.
18
-
- ✅ [plpython3u](https://www.postgresql.org/docs/current/plpython-python23.html). Python3 enabled by default. Write in Python functions in Postgres.
19
-
- ✅ [PL/Java](https://github.com/tada/pljaval). Write in Java functions in Postgres.
9
+
- ✅ [Large Systems Extensions](https://github.com/aws/aws-graviton-getting-started#building-for-graviton-and-graviton2). Enabled for ARM images.
10
+
11
+
## Extensions
12
+
| Extension | Description |
13
+
| ------------- | ------------- |
14
+
|[Postgres contrib modules](https://www.postgresql.org/docs/current/contrib.html)| Because everyone should enable `pg_stat_statements`. |
15
+
|[PostGIS](https://postgis.net/)| Postgres' most popular extension - support for geographic objects. |
16
+
|[pgRouting](https://pgrouting.org/)| Extension of PostGIS - provides geospatial routing functionalities. |
17
+
|[pgTAP](https://pgtap.org/)| Unit Testing for Postgres. |
18
+
|[pg_cron](https://github.com/citusdata/pg_cron)| Run CRON jobs inside Postgres. |
|[pgjwt](https://github.com/michelp/pgjwt)| Generate JSON Web Tokens (JWT) in Postgres. |
21
+
|[pgsql-http](https://github.com/pramsey/pgsql-http)| HTTP client for Postgres. |
22
+
|[plpgsql_check](https://github.com/okbob/plpgsql_check)| Linter tool for PL/pgSQL. |
23
+
|[pg-safeupdate](https://github.com/eradman/pg-safeupdate)| Protect your data from accidental updates or deletes. |
24
+
|[wal2json](https://github.com/eulerto/wal2json)| JSON output plugin for logical replication decoding. |
25
+
|[PL/Java](https://github.com/tada/pljava)| Write in Java functions in Postgres. |
26
+
|[plv8](https://github.com/plv8/plv8)| Write in Javascript functions in Postgres. |
27
+
28
+
Can't find your favorite extension? Suggest for it to be added into future versions [here](https://github.com/supabase/supabase/discussions/679)!
29
+
30
+
## Enhanced Security
31
+
Aside from having [ufw](https://help.ubuntu.com/community/UFW),[fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page), and [unattended-upgrades](https://wiki.debian.org/UnattendedUpgrades) installed, we also have the following enhancements in place:
32
+
| Enhancement | Description |
33
+
| ------------- | ------------- |
34
+
|[fail2ban filter](https://github.com/supabase/postgres/blob/develop/ansible/files/fail2ban_config/filter-postgresql.conf.j2) for PostgreSQL access | Monitors for brute force attempts over at port `5432`. |
35
+
|[fail2ban filter](https://github.com/supabase/postgres/blob/develop/ansible/files/fail2ban_config/filter-pgbouncer.conf.j2) for PgBouncer access | Monitors for brute force attempts over at port `6543`. |
36
+
37
+
## Additional Goodies
38
+
| Goodie | Description |
39
+
| ------------- | ------------- |
40
+
|[PgBouncer](https://postgis.net/)| Set up Connection Pooling. |
41
+
|[PostgREST](https://postgrest.org/en/stable/)| Instantly transform your database into an RESTful API. |
42
+
|[WAL-G](https://github.com/wal-g/wal-g#wal-g)| Tool for physical database backup and recovery. |
20
43
21
44
## Install
22
45
@@ -26,13 +49,39 @@ See all installation instructions in the [repo wiki](https://github.com/supabase
After talking to a lot of techies, we've found that most believe Postgres is the best (operational) database but they *still* choose other databases. This is overwhelmingly because "the other one was quicker/easier". Our goal is to make it fast and simple to get started with Postgres, so that we never hear that excuse again.
80
+
After talking to a lot of techies, we've found that most believe Postgres is the best (operational) database but they _still_ choose other databases. This is overwhelmingly because "the other one was quicker/easier". Our goal is to make it fast and simple to get started with Postgres, so that we never hear that excuse again.
32
81
33
82
Our secondary goal is to show off a few of Postgres' most exciting features. This is to convince new developers to choose it over other database (a decision we hope they'll appreciate once they start scaling).
34
83
35
-
Finally, this is the same build we offer at [Supabase](https://supabase.io), and everything we do is opensource. This repo makes it easy to *install* Postgres, Supabase makes it easy to *use* Postgres.
84
+
Finally, this is the same build we offer at [Supabase](https://supabase.io), and everything we do is opensource. This repo makes it easy to _install_ Postgres, Supabase makes it easy to _use_ Postgres.
36
85
37
86
## Roadmap
38
87
@@ -43,3 +92,9 @@ Finally, this is the same build we offer at [Supabase](https://supabase.io), and
43
92
## License
44
93
45
94
[The PostgreSQL License](https://opensource.org/licenses/postgresql). 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).
95
+
96
+
## Sponsors
97
+
98
+
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.
0 commit comments