Supabase PostgreSQL Image
约 2 分钟阅读
- supabase/postgresGitHubsupabase/postgressupabase/postgres · Docker 镜像 · 使用 ansible 构建 · 250MB - 300MB · 包含大多插件 · 版本号匹配 Postgres · 基础镜像为 postgres · Dockerfile · 扩展笔记:Supabase PostgreSQL Image
- Docker 镜像
- 使用 ansible 构建
- ~250MB - 300MB
- 包含大多插件
- 版本号匹配 Postgres
- 基础镜像为 postgres
- DockerfileGitHub 文件supabase/postgres/Dockerfile
- 扩展
- 目前有 PG 15, 17
- 有 PG 17 orioledb 镜像 hub.docker.com/r/supabase/postgres/tags
- Vote for Postgres extensions supabase#679
# 注意 superuser 为 supabase_admin 密码和 postgres 相同
# 建议登录为 supabase_admin 然后 alter user postgres with superuser
# https://hub.docker.com/r/supabase/postgres
PASSWORD=$(uuidgen | tr -d '[[:space:]]')
docker run --rm -it \
-e POSTGRES_PASSWORD=$PASSWORD \
-p 5432:5432 \
-e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --lc-collate=C --lc-ctype=C" \
-v $PWD/data:/var/lib/postgresql/data \
--name postgres supabase/postgres:17.4.1.071 \
-clisten_addresses="*" \
-cshared_preload_libraries=pg_stat_statements,pg_stat_monitor,pgaudit,plpgsql,plpgsql_check,pg_cron,pg_net,timescaledb,auto_explain,pg_tleunix_socket_directories = '/var/run/postgresql'
session_preload_libraries = 'supautils'
include = '/etc/postgresql-custom/supautils.conf'
cron.database_name = 'postgres'
pljava.libjvm_location = '/usr/lib/jvm/java-11-openjdk-${TARGETARCH}/lib/server/libjvm.so'
pgsodium.getkey_script= '/usr/lib/postgresql/${postgresql_major}/bin/pgsodium_getkey.sh'
auto_explain.log_min_duration = 10sExtensions
| Extension | Description |
|---|---|
| Postgres contrib modules | pg_stat_statements |
| PostGIS链接postgis.netPostGIS Website · PostGIS Function Support Matrix · GEOS · GDAL - Geospatial Data Abstraction Library · SFCGAL - C++ wrapper around CGAL笔记:PostGIS | GIS |
| pgRouting | Extension of PostGIS - provides geospatial routing functionalities. |
| pgTAP | Unit Testing for Postgres. |
| pg_cronGitHubcitusdata/pg_croncitusdata/pgcron · 默认元数据表位于 postgres 库 - 只有在给定库才可以 CREATE EXTENSION · schema 为 cron笔记:pg_cron | Run CRON jobs inside Postgres. |
| pgAudit | Generate highly compliant audit logs. |
| pgjwtGitHubmichelp/pgjwt | Generate JSON Web Tokens (JWT) in Postgres. |
| pgsql-httpGitHubpramsey/pgsql-http | HTTP client for Postgres. |
| plpgsql_checkGitHubokbob/plpgsql_check | Linter tool for PL/pgSQL. |
| pg-safeupdateGitHuberadman/pg-safeupdate | Protect your data from accidental updates or deletes. |
| wal2jsonGitHubeulerto/wal2json | JSON output plugin for logical replication decoding. |
| PL/JavaGitHubtada/pljava | PL/Java |
| plv8GitHubplv8/plv8plv8/plv8 · 减少代码执行量 · e.g. 4500 loc, 300ms -> 3ms · 因为 PostgreSQL 使用 forking model,因此不会有真正的全局上下文,每个 context 会在 connection 关闭时销毁。笔记:plv8 | PL/Javascript |
| pg_plan_filterGitHubpgexperts/pg_plan_filter | Only allow statements that fulfill set criteria to be executed. |
| pg_netGitHubsupabase/pg_net | Expose the SQL interface for async networking. |
| rumGitHubpostgrespro/rum | An alternative to the GIN index. |
| pg_hashidsGitHubiCyberon/pg_hashids | Generate unique identifiers from numbers. |
| pgsodiumGitHubmichelp/pgsodiummichelp/pgsodium · PostgreSQL License, C, libsodium, PostgreSQL · pgsodium 是一个 PostgreSQL 扩展,通过封装 libsodium 库提供加密功能。它在 Supabase 中被广泛用于提供透明列表加密(TCE)和服务器主密钥管理。笔记:pgsodium | libsodium |
| pg_stat_monitorGitHubpercona/pg_stat_monitor | Query Performance Monitoring |
| pgvectorGitHubpgvector/pgvector | vector similarity search |
| pg_repackGitHubreorg/pg_repack | Tool to remove bloat from tables and indexes |
| pg_jsonschema | |
| pg_graphql | |
| sfcgal | |
| timescaledb | |
| vault | |
| wrappersGitHubsupabase/wrappers | FDW dev kit by Supabase |
| pgroonga | |
| hypopg | |
| pg_tleGitHubaws/pg_tle | trusted language extensions |
| supautils | |
| plls | PL/LiveScript |
create extension if not exists pg_hashids;
-- id_encode, id_decode
select id_encode(1234567, 'This is my salt', /*min length*/ 10, /* alphabet */ 'abcdefghijABCDxFGHIJ1234567890');- TLE - Trusted Language Extensions
- tensorchord/pgvecto.rsGitHubtensorchord/pgvecto.rs
- pgvecto.rs #895GitHub Issuesupabase/postgres#895
- 不是 trusted extension, 使用了 ipc/mmap
- vs pgvector docs.pgvecto.rs/faqs/comparison-pgvector.html
- pgvecto.rs #895GitHub Issuesupabase/postgres#895
FAQ
You might want to create it and/or set "pgsodium.getkey_script" to the correct path.
pgsodium.getkey_script='/usr/lib/postgresql/${postgresql_major}/bin/pgsodium_getkey.sh'关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- 常见问题笔记 · supabase
Errors and Messages · SQL Key Words · case-sentivity of identifiers - 表、列、函数名 · 如果没有双引号,则不区分大小写,默认转换为小写 · https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYN...
- PostgreSQL Awesome笔记 · supabase/postgres
扩展插件功能 · 数据功能 - 数据类型、操作类型、索引类型 · 服务功能 - 集群、cron、存储引擎 · 查询能力 - 图、流、GIS · 集成功能 - Redis、ES · 语言功能 - JS、Lua、Java · neondatabase/neon
参考资料
GitHub23 条
- aws/pg_tlegithub.com/aws/pg_tle
- citusdata/pg_crongithub.com/citusdata/pg_cron
- eradman/pg-safeupdategithub.com/eradman/pg-safeupdate
- eulerto/wal2jsongithub.com/eulerto/wal2json
- iCyberon/pg_hashidsgithub.com/iCyberon/pg_hashids
- michelp/pgjwtgithub.com/michelp/pgjwt
- michelp/pgsodiumgithub.com/michelp/pgsodium
- okbob/plpgsql_checkgithub.com/okbob/plpgsql_check
- percona/pg_stat_monitorgithub.com/percona/pg_stat_monitor
- pgexperts/pg_plan_filtergithub.com/pgexperts/pg_plan_filter
- pgvector/pgvectorgithub.com/pgvector/pgvector
- plv8/plv8github.com/plv8/plv8
- postgrespro/rumgithub.com/postgrespro/rum
- pramsey/pgsql-httpgithub.com/pramsey/pgsql-http
- reorg/pg_repackgithub.com/reorg/pg_repack
- supabase/pg_netgithub.com/supabase/pg_net
- supabase/postgresgithub.com/supabase/postgres
- supabase/postgres/Dockerfilegithub.com/supabase/postgres/blob/develop/Dockerfile
- supabase/postgres#895github.com/supabase/postgres/issues/895
- supabase/supautilsgithub.com/supabase/supautils
- supabase/wrappersgithub.com/supabase/wrappers
- tada/pljavagithub.com/tada/pljava
- tensorchord/pgvecto.rsgithub.com/tensorchord/pgvecto.rs
其他外链8 条
- docs.pgvecto.rs/faqs/comparison-pgvector.htmldocs.pgvecto.rs/faqs/comparison-pgvector.html
- github.com/orgs/supabase/discussions/679github.com/orgs/supabase/discussions/679
- hub.docker.com/r/supabase/postgres/tagshub.docker.com/r/supabase/postgres/tags
- pgrouting.orgpgrouting.org/
- pgtap.orgpgtap.org/
- postgis.netpostgis.net/
- www.pgaudit.orgwww.pgaudit.org/
- www.postgresql.org/docs/current/contrib.htmlwww.postgresql.org/docs/current/contrib.html