Skip to content
Open
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
07ab014
refactor(postgresql.conf): configure postgresql.conf to use 'include_…
hunleyd Oct 6, 2025
e0426ee
refactor(ansible): rename all conf files in /etc/postgresql-custom to…
hunleyd Oct 6, 2025
7876920
refactor(postgresql): split auto_explain and pg_cron out into their o…
hunleyd Oct 6, 2025
351819f
Merge branch 'develop' of github.com:supabase/postgres into INDATA-152
hunleyd Oct 6, 2025
0c932e9
fix(nix): it helps to use the correct filename everywhere
hunleyd Oct 6, 2025
6ce9f8b
refactor(postgresql.conf): use relative path to include_dir
hunleyd Oct 6, 2025
b2a64fd
fix(postgresql.conf): revert the location of include_dir back to abso…
hunleyd Oct 6, 2025
d4092d8
refactor(postgresql): switch to 'include_dir' and then rename conf fi…
hunleyd Oct 14, 2025
1e6a7d0
Merge remote-tracking branch 'origin/develop' into INDATA-152
hunleyd Oct 14, 2025
a01355d
refactor(docker): don't sed, just echo
hunleyd Oct 14, 2025
e95145a
fix: test harness needed to handle config files correctly
samrose Oct 14, 2025
161cd90
refactor(PG-configuration): move includes to conf.d and rename wth th…
hunleyd Oct 14, 2025
f18cd9e
fix(nix): nix doesn't like it when you try to assign vars to undef'd …
hunleyd Oct 14, 2025
100a6e1
fix: update path to 05-supautils
hunleyd Oct 14, 2025
c51b05e
fix: update path to 00-logging
hunleyd Oct 14, 2025
55c0ea7
refactor(postgresql): mv 00-logging.conf to just logging.conf
hunleyd Oct 15, 2025
bf4c03e
refactor(postgres): 01-generated-optimizations -> generated-optimizat…
hunleyd Oct 15, 2025
fcf4c28
refactor(postgresql): 02-custom-overrides -> custom-overrides
hunleyd Oct 15, 2025
fdb7898
refactor(postgres): 03-wal-g -> wal-g
hunleyd Oct 15, 2025
b96ed46
refactor(postgres): 04-read-replica -> read-replica
hunleyd Oct 15, 2025
bf0133c
refactor(postgres): 05-supautils -> supautils
hunleyd Oct 15, 2025
da987d4
style(postgresql): style fixups
hunleyd Oct 15, 2025
9bba13d
fix: more path updates
hunleyd Oct 15, 2025
1f82f5b
Indata 152 run server (#1850)
samrose Oct 22, 2025
72a3d76
Merge remote-tracking branch 'origin' into INDATA-152
hunleyd Oct 23, 2025
9fba85a
Merge remote-tracking branch 'origin/develop' into INDATA-152
hunleyd Oct 24, 2025
5c949f8
fix: fix up postgres_fdw test
samrose Oct 24, 2025
8083f1f
fix(setup-postgres): it helps to remove *all* conflict markers before…
hunleyd Oct 24, 2025
2d4df8f
Merge branch 'INDATA-152' of github.com:supabase/postgres into INDATA…
hunleyd Oct 24, 2025
ae317f4
Merge remote-tracking branch 'origin/develop' into INDATA-152
hunleyd Oct 27, 2025
93022d6
Merge branch 'develop' of github.com:supabase/postgres into INDATA-152
hunleyd Oct 28, 2025
2d77cf3
Merge branch 'develop' of github.com:supabase/postgres into INDATA-152
hunleyd Oct 28, 2025
2fbf46d
test(pgroonga): update the expected test output for pgroonga
hunleyd Oct 28, 2025
2b0208f
fix(setup-wal-g): remove errant stale task from a bad upstream merge
hunleyd Oct 29, 2025
d0be984
fix(setup-wal-g): s/postgresq/postgres/
hunleyd Oct 29, 2025
b23b403
test(ami-versions): bump the ami versions so i can run the infra tests
hunleyd Oct 29, 2025
df9cd4e
test(ansible): revert my custom build numbers since the GHA all pass …
hunleyd Oct 29, 2025
2a0b3c3
Merge remote-tracking branch 'origin/develop' into INDATA-152
hunleyd Oct 30, 2025
cae0c5e
Merge remote-tracking branch 'origin' into INDATA-152
hunleyd Oct 30, 2025
644f98b
fix(prime.sql): typo
hunleyd Oct 30, 2025
2ba0d3e
Merge remote-tracking branch 'origin' into INDATA-152
hunleyd Oct 30, 2025
d9fc2d4
test(pg_regress): add updated expected test outputs
hunleyd Oct 31, 2025
5a76416
Merge remote-tracking branch 'origin' into INDATA-152
hunleyd Oct 31, 2025
51a4078
Merge branch 'develop' into INDATA-152
hunleyd Oct 31, 2025
bd512ff
test(pg_regress): update expected output for pg15 plv8
hunleyd Oct 31, 2025
74e347f
Merge branch 'INDATA-152' of github.com:supabase/postgres into INDATA…
hunleyd Oct 31, 2025
b2e170b
Revert "test(pg_regress): update expected output for pg15 plv8"
samrose Oct 31, 2025
2c3acd2
Merge remote-tracking branch 'origin' into INDATA-152
hunleyd Nov 1, 2025
6336a0e
Merge branch 'INDATA-152' of github.com:supabase/postgres into INDATA…
hunleyd Nov 1, 2025
8aecdab
fix(stage2-setup-postgres): supautils.conf is in conf.d now
hunleyd Nov 2, 2025
ca26f5d
refactor(supautils.conf): fix conflicts
jchancojr Nov 7, 2025
d739f5e
Merge branch 'develop' of github.com:supabase/postgres into INDATA-152
jchancojr Nov 7, 2025
db993d5
chore: bump version
samrose Nov 7, 2025
1de71e0
Merge branch 'develop' into INDATA-152
hunleyd Nov 7, 2025
be3a93c
test(pg_regress): update pg_regress pg roles tests
jchancojr Nov 7, 2025
bb62512
Merge branch 'develop' into INDATA-152
jchancojr Nov 8, 2025
465043a
Merge branch 'develop' into INDATA-152
jchancojr Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions Dockerfile-15
Original file line number Diff line number Diff line change
Expand Up @@ -173,28 +173,22 @@ COPY --from=groonga /tmp/groonga-plugins/plugins /usr/lib/groonga/plugins
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql.conf.j2 /etc/postgresql/postgresql.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_hba.conf.j2 /etc/postgresql/pg_hba.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_ident.conf.j2 /etc/postgresql/pg_ident.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql-stdout-log.conf /etc/postgresql/logging.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/supautils.conf.j2 /etc/postgresql-custom/supautils.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/conf.d /etc/postgresql-custom/
COPY --chown=postgres:postgres ansible/files/postgresql_extension_custom_scripts /etc/postgresql-custom/extension-custom-scripts
COPY --chown=postgres:postgres ansible/files/pgsodium_getkey_urandom.sh.j2 /usr/lib/postgresql/bin/pgsodium_getkey.sh
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_read_replica.conf.j2 /etc/postgresql-custom/read-replica.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_walg.conf.j2 /etc/postgresql-custom/wal-g.conf
COPY --chown=postgres:postgres ansible/files/walg_helper_scripts/wal_fetch.sh /home/postgres/wal_fetch.sh
COPY ansible/files/walg_helper_scripts/wal_change_ownership.sh /root/wal_change_ownership.sh

RUN sed -i \
-e "s|#unix_socket_directories = '/tmp'|unix_socket_directories = '/var/run/postgresql'|g" \
-e "s|#session_preload_libraries = ''|session_preload_libraries = 'supautils'|g" \
-e "s|#include = '/etc/postgresql-custom/supautils.conf'|include = '/etc/postgresql-custom/supautils.conf'|g" \
-e "s|#include = '/etc/postgresql-custom/wal-g.conf'|include = '/etc/postgresql-custom/wal-g.conf'|g" /etc/postgresql/postgresql.conf && \
RUN \
echo "unix_socket_directories = '/var/run/postgresql'" >> /etc/postgresql/postgresql.conf && \
echo "cron.database_name = 'postgres'" >> /etc/postgresql/postgresql.conf && \
#echo "pljava.libjvm_location = '/usr/lib/jvm/java-11-openjdk-${TARGETARCH}/lib/server/libjvm.so'" >> /etc/postgresql/postgresql.conf && \
echo "pgsodium.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo "vault.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo 'auto_explain.log_min_duration = 10s' >> /etc/postgresql/postgresql.conf && \
usermod -aG postgres wal-g && \
mkdir -p /etc/postgresql-custom && \
chown postgres:postgres /etc/postgresql-custom
mkdir -p /etc/postgresql-custom/conf.d && \
chown -R postgres:postgres /etc/postgresql-custom

# # Include schema migrations
COPY migrations/db /docker-entrypoint-initdb.d/
Expand Down
18 changes: 6 additions & 12 deletions Dockerfile-17
Original file line number Diff line number Diff line change
Expand Up @@ -177,34 +177,28 @@ COPY --from=groonga /tmp/groonga-plugins/plugins /usr/lib/groonga/plugins
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql.conf.j2 /etc/postgresql/postgresql.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_hba.conf.j2 /etc/postgresql/pg_hba.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_ident.conf.j2 /etc/postgresql/pg_ident.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql-stdout-log.conf /etc/postgresql/logging.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/supautils.conf.j2 /etc/postgresql-custom/supautils.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/conf.d /etc/postgresql-custom/
COPY --chown=postgres:postgres ansible/files/postgresql_extension_custom_scripts /etc/postgresql-custom/extension-custom-scripts
COPY --chown=postgres:postgres ansible/files/pgsodium_getkey_urandom.sh.j2 /usr/lib/postgresql/bin/pgsodium_getkey.sh
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_read_replica.conf.j2 /etc/postgresql-custom/read-replica.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_walg.conf.j2 /etc/postgresql-custom/wal-g.conf
COPY --chown=postgres:postgres ansible/files/walg_helper_scripts/wal_fetch.sh /home/postgres/wal_fetch.sh
COPY ansible/files/walg_helper_scripts/wal_change_ownership.sh /root/wal_change_ownership.sh

RUN sed -i \
-e "s|#unix_socket_directories = '/tmp'|unix_socket_directories = '/var/run/postgresql'|g" \
-e "s|#session_preload_libraries = ''|session_preload_libraries = 'supautils'|g" \
-e "s|#include = '/etc/postgresql-custom/supautils.conf'|include = '/etc/postgresql-custom/supautils.conf'|g" \
-e "s|#include = '/etc/postgresql-custom/wal-g.conf'|include = '/etc/postgresql-custom/wal-g.conf'|g" /etc/postgresql/postgresql.conf && \
RUN \
echo "unix_socket_directories = '/var/run/postgresql'" >> /etc/postgresql/postgresql.conf && \
echo "cron.database_name = 'postgres'" >> /etc/postgresql/postgresql.conf && \
#echo "pljava.libjvm_location = '/usr/lib/jvm/java-11-openjdk-${TARGETARCH}/lib/server/libjvm.so'" >> /etc/postgresql/postgresql.conf && \
echo "pgsodium.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo "vault.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo 'auto_explain.log_min_duration = 10s' >> /etc/postgresql/postgresql.conf && \
usermod -aG postgres wal-g && \
mkdir -p /etc/postgresql-custom && \
chown postgres:postgres /etc/postgresql-custom
mkdir -p /etc/postgresql-custom/conf.d && \
chown -R postgres:postgres /etc/postgresql-custom

# Remove items from postgresql.conf
RUN sed -i 's/ timescaledb,//g;' "/etc/postgresql/postgresql.conf"
#as of pg 16.4 + this db_user_namespace totally deprecated and will break the server if setting is present
RUN sed -i 's/db_user_namespace = off/#db_user_namespace = off/g;' "/etc/postgresql/postgresql.conf"
RUN sed -i 's/ timescaledb,//g; s/ plv8,//g' "/etc/postgresql-custom/supautils.conf"
RUN sed -i 's/ timescaledb,//g; s/ plv8,//g' "/etc/postgresql-custom/conf.d/supautils.conf"



Expand Down
18 changes: 6 additions & 12 deletions Dockerfile-orioledb-17
Original file line number Diff line number Diff line change
Expand Up @@ -177,34 +177,28 @@ COPY --from=groonga /tmp/groonga-plugins/plugins /usr/lib/groonga/plugins
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql.conf.j2 /etc/postgresql/postgresql.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_hba.conf.j2 /etc/postgresql/pg_hba.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/pg_ident.conf.j2 /etc/postgresql/pg_ident.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/postgresql-stdout-log.conf /etc/postgresql/logging.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/supautils.conf.j2 /etc/postgresql-custom/supautils.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/conf.d /etc/postgresql-custom/
COPY --chown=postgres:postgres ansible/files/postgresql_extension_custom_scripts /etc/postgresql-custom/extension-custom-scripts
COPY --chown=postgres:postgres ansible/files/pgsodium_getkey_urandom.sh.j2 /usr/lib/postgresql/bin/pgsodium_getkey.sh
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_read_replica.conf.j2 /etc/postgresql-custom/read-replica.conf
COPY --chown=postgres:postgres ansible/files/postgresql_config/custom_walg.conf.j2 /etc/postgresql-custom/wal-g.conf
COPY --chown=postgres:postgres ansible/files/walg_helper_scripts/wal_fetch.sh /home/postgres/wal_fetch.sh
COPY ansible/files/walg_helper_scripts/wal_change_ownership.sh /root/wal_change_ownership.sh

RUN sed -i \
-e "s|#unix_socket_directories = '/tmp'|unix_socket_directories = '/var/run/postgresql'|g" \
-e "s|#session_preload_libraries = ''|session_preload_libraries = 'supautils'|g" \
-e "s|#include = '/etc/postgresql-custom/supautils.conf'|include = '/etc/postgresql-custom/supautils.conf'|g" \
-e "s|#include = '/etc/postgresql-custom/wal-g.conf'|include = '/etc/postgresql-custom/wal-g.conf'|g" /etc/postgresql/postgresql.conf && \
RUN \
echo "unix_socket_directories = '/var/run/postgresql'" >> /etc/postgresql/postgresql.conf && \
echo "cron.database_name = 'postgres'" >> /etc/postgresql/postgresql.conf && \
#echo "pljava.libjvm_location = '/usr/lib/jvm/java-11-openjdk-${TARGETARCH}/lib/server/libjvm.so'" >> /etc/postgresql/postgresql.conf && \
echo "pgsodium.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo "vault.getkey_script= '/usr/lib/postgresql/bin/pgsodium_getkey.sh'" >> /etc/postgresql/postgresql.conf && \
echo 'auto_explain.log_min_duration = 10s' >> /etc/postgresql/postgresql.conf && \
usermod -aG postgres wal-g && \
mkdir -p /etc/postgresql-custom && \
chown postgres:postgres /etc/postgresql-custom
mkdir -p /etc/postgresql-custom/conf.d && \
chown -R postgres:postgres /etc/postgresql-custom

# Remove items from postgresql.conf
RUN sed -i 's/ timescaledb,//g;' "/etc/postgresql/postgresql.conf"
#as of pg 16.4 + this db_user_namespace totally deprecated and will break the server if setting is present
RUN sed -i 's/db_user_namespace = off/#db_user_namespace = off/g;' "/etc/postgresql/postgresql.conf"
RUN sed -i 's/ timescaledb,//g; s/ plv8,//g; s/ postgis,//g; s/ pgrouting,//g' "/etc/postgresql-custom/supautils.conf"
RUN sed -i 's/ timescaledb,//g; s/ plv8,//g; s/ postgis,//g; s/ pgrouting,//g' "/etc/postgresql-custom/conf.d/supautils.conf"
RUN sed -i 's/\(shared_preload_libraries.*\)'\''\(.*\)$/\1, orioledb'\''\2/' "/etc/postgresql/postgresql.conf"
RUN echo "default_table_access_method = 'orioledb'" >> "/etc/postgresql/postgresql.conf"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,11 +515,11 @@ EOF
mkdir -p "$MOUNT_POINT/conf"
cp -R /etc/postgresql-custom/* "$MOUNT_POINT/conf/"
# removing supautils config as to allow the latest one provided by the latest image to be used
rm -f "$MOUNT_POINT/conf/supautils.conf" || true
rm -f "$MOUNT_POINT/conf/conf.d/supautils.conf" || true
rm -rf "$MOUNT_POINT/conf/extension-custom-scripts" || true

# removing wal-g config as to allow it to be explicitly enabled on the new instance
rm -f "$MOUNT_POINT/conf/wal-g.conf"
rm -f "$MOUNT_POINT/conf/conf.d/wal-g.conf"

# copy sql files generated by pg_upgrade
echo "12. Copying sql files generated by pg_upgrade"
Expand Down
2 changes: 1 addition & 1 deletion ansible/files/database-optimizations.service.j2
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Description=Postgresql optimizations
[Service]
Type=oneshot
# we do not want failures from these commands to cause downstream service startup to fail
ExecStart=-/opt/supabase-admin-api optimize db --destination-config-file-path /etc/postgresql-custom/generated-optimizations.conf
ExecStart=-/opt/supabase-admin-api optimize db --destination-config-file-path /etc/postgresql-custom/conf.d/generated-optimizations.conf
ExecStart=-/opt/supabase-admin-api optimize pgbouncer --destination-config-file-path /etc/pgbouncer-custom/generated-optimizations.ini
User=adminapi

Expand Down
4 changes: 2 additions & 2 deletions ansible/files/postgres_prestart.sh.j2
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ check_orioledb_enabled() {
}

get_shared_buffers() {
local opt_conf="/etc/postgresql-custom/generated-optimizations.conf"
local opt_conf="/etc/postgresql-custom/conf.d/generated-optimizations.conf"
if [ ! -f "$opt_conf" ]; then
return 0
fi
Expand Down Expand Up @@ -134,4 +134,4 @@ if [ $(locale -a | grep -c en_US.utf8) -eq 0 ]; then
locale-gen
fi

main
main
1 change: 1 addition & 0 deletions ansible/files/postgresql_config/conf.d/autoexplain.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
auto_explain.log_min_duration = 10s
1 change: 1 addition & 0 deletions ansible/files/postgresql_config/conf.d/logging.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
logging_collector = on # Enable capturing of stderr and csvlog into log files. Required to be on for csvlogs. (change requires restart)
1 change: 1 addition & 0 deletions ansible/files/postgresql_config/conf.d/pgcron.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cron.database_name = 'postgres'
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# hot_standby = on
# restore_command = '/usr/bin/admin-mgr wal-fetch %f %p >> /var/log/wal-g/wal-fetch.log 2>&1'
# recovery_target_timeline = 'latest'

# primary_conninfo = 'host=localhost port=6543 user=replication'

# restore_command = '/usr/bin/admin-mgr wal-fetch %f %p >> /var/log/wal-g/wal-fetch.log 2>&1'
# recovery_target_timeline = 'latest'
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
session_preload_libraries = 'supautils'

supautils.disable_program = 'true'

supautils.drop_trigger_grants = '{"postgres":["auth.audit_log_entries","auth.flow_state","auth.identities","auth.instances","auth.mfa_amr_claims","auth.mfa_challenges","auth.mfa_factors","auth.oauth_clients","auth.one_time_tokens","auth.refresh_tokens","auth.saml_providers","auth.saml_relay_states","auth.sessions","auth.sso_domains","auth.sso_providers","auth.users","realtime.messages","realtime.subscription","storage.buckets","storage.buckets_analytics","storage.objects","storage.prefixes","storage.s3_multipart_uploads","storage.s3_multipart_uploads_parts"]}'

supautils.extension_custom_scripts_path = '/etc/postgresql-custom/extension-custom-scripts'
supautils.extensions_parameter_overrides = '{"pg_cron":{"schema":"pg_catalog"}}'

supautils.policy_grants = '{"postgres":["auth.audit_log_entries","auth.flow_state","auth.identities","auth.instances","auth.mfa_amr_claims","auth.mfa_challenges","auth.mfa_factors","auth.oauth_clients","auth.one_time_tokens","auth.refresh_tokens","auth.saml_providers","auth.saml_relay_states","auth.sessions","auth.sso_domains","auth.sso_providers","auth.users","realtime.messages","realtime.subscription","storage.buckets","storage.buckets_analytics","storage.objects","storage.prefixes","storage.s3_multipart_uploads","storage.s3_multipart_uploads_parts"]}'
supautils.drop_trigger_grants = '{"postgres":["auth.audit_log_entries","auth.flow_state","auth.identities","auth.instances","auth.mfa_amr_claims","auth.mfa_challenges","auth.mfa_factors","auth.oauth_clients","auth.one_time_tokens","auth.refresh_tokens","auth.saml_providers","auth.saml_relay_states","auth.sessions","auth.sso_domains","auth.sso_providers","auth.users","realtime.messages","realtime.subscription","storage.buckets","storage.buckets_analytics","storage.objects","storage.prefixes","storage.s3_multipart_uploads","storage.s3_multipart_uploads_parts"]}'
# full list: address_standardizer, address_standardizer_data_us, adminpack, amcheck, autoinc, bloom, btree_gin, btree_gist, citext, cube, dblink, dict_int, dict_xsyn, earthdistance, file_fdw, fuzzystrmatch, hstore, http, hypopg, index_advisor, insert_username, intagg, intarray, isn, lo, ltree, moddatetime, old_snapshot, orioledb, pageinspect, pg_buffercache, pg_cron, pg_freespacemap, pg_graphql, pg_hashids, pg_jsonschema, pg_net, pg_prewarm, pg_repack, pg_stat_monitor, pg_stat_statements, pg_surgery, pg_tle, pg_trgm, pg_visibility, pg_walinspect, pgaudit, pgcrypto, pgjwt, pgmq, pgroonga, pgroonga_database, pgrouting, pgrowlocks, pgsodium, pgstattuple, pgtap, plcoffee, pljava, plls, plpgsql, plpgsql_check, plv8, postgis, postgis_raster, postgis_sfcgal, postgis_tiger_geocoder, postgis_topology, postgres_fdw, refint, rum, seg, sslinfo, supabase_vault, supautils, tablefunc, tcn, timescaledb, tsm_system_rows, tsm_system_time, unaccent, uuid-ossp, vector, wrappers, xml2
# omitted because may be unsafe: adminpack, amcheck, file_fdw, lo, old_snapshot, pageinspect, pg_freespacemap, pg_surgery, pg_visibility
# omitted because deprecated: intagg, xml2
# omitted because doesn't require superuser: pgmq
# omitted because protected: plpgsql

# full list:
# address_standardizer, address_standardizer_data_us, adminpack, amcheck, autoinc, bloom, btree_gin, btree_gist, citext, cube, dblink, dict_int, dict_xsyn, earthdistance, file_fdw, fuzzystrmatch, hstore, http, hypopg, index_advisor, insert_username, intagg, intarray, isn, lo, ltree, moddatetime, old_snapshot, orioledb, pageinspect, pg_buffercache, pg_cron, pg_freespacemap, pg_graphql, pg_hashids, pg_jsonschema, pg_net, pg_prewarm, pg_repack, pg_stat_monitor, pg_stat_statements, pg_surgery, pg_tle, pg_trgm, pg_visibility, pg_walinspect, pgaudit, pgcrypto, pgjwt, pgmq, pgroonga, pgroonga_database, pgrouting, pgrowlocks, pgsodium, pgstattuple, pgtap, plcoffee, pljava, plls, plpgsql, plpgsql_check, plv8, postgis, postgis_raster, postgis_sfcgal, postgis_tiger_geocoder, postgis_topology, postgres_fdw, refint, rum, seg, sslinfo, supabase_vault, supautils, tablefunc, tcn, timescaledb, tsm_system_rows, tsm_system_time, unaccent, uuid-ossp, vector, wrappers, xml2
# omitted because may be unsafe:
# adminpack, amcheck, file_fdw, lo, old_snapshot, pageinspect, pg_freespacemap, pg_surgery, pg_visibility
# omitted because deprecated:
# intagg, xml2
# omitted because doesn't require superuser:
# pgmq
# omitted because protected:
# plpgsql
supautils.privileged_extensions = 'address_standardizer, address_standardizer_data_us, autoinc, bloom, btree_gin, btree_gist, citext, cube, dblink, dict_int, dict_xsyn, earthdistance, fuzzystrmatch, hstore, http, hypopg, index_advisor, insert_username, intarray, isn, ltree, moddatetime, orioledb, pg_buffercache, pg_cron, pg_graphql, pg_hashids, pg_jsonschema, pg_net, pg_prewarm, pg_repack, pg_stat_monitor, pg_stat_statements, pg_tle, pg_trgm, pg_walinspect, pgaudit, pgcrypto, pgjwt, pgroonga, pgroonga_database, pgrouting, pgrowlocks, pgsodium, pgstattuple, pgtap, plcoffee, pljava, plls, plpgsql_check, plv8, postgis, postgis_raster, postgis_sfcgal, postgis_tiger_geocoder, postgis_topology, postgres_fdw, refint, rum, seg, sslinfo, supabase_vault, supautils, tablefunc, tcn, timescaledb, tsm_system_rows, tsm_system_time, unaccent, uuid-ossp, vector, wrappers'
supautils.extension_custom_scripts_path = '/etc/postgresql-custom/extension-custom-scripts'

supautils.privileged_extensions_superuser = 'supabase_admin'

supautils.privileged_role = 'postgres'

supautils.privileged_role_allowed_configs = 'auto_explain.*, log_lock_waits, log_min_duration_statement, log_min_messages, log_replication_commands, log_statement, log_temp_files, pg_net.batch_size, pg_net.ttl, pg_stat_statements.*, pgaudit.log, pgaudit.log_catalog, pgaudit.log_client, pgaudit.log_level, pgaudit.log_relation, pgaudit.log_rows, pgaudit.log_statement, pgaudit.log_statement_once, pgaudit.role, pgrst.*, plan_filter.*, safeupdate.enabled, session_replication_role, track_io_timing, wal_compression'

supautils.reserved_memberships = 'pg_read_server_files, pg_write_server_files, pg_execute_server_program, supabase_admin, supabase_auth_admin, supabase_storage_admin, supabase_read_only_user, supabase_realtime_admin, supabase_replication_admin, supabase_etl_admin, dashboard_user, pgbouncer, authenticator'

supautils.reserved_roles = 'supabase_admin, supabase_auth_admin, supabase_storage_admin, supabase_read_only_user, supabase_realtime_admin, supabase_replication_admin, supabase_etl_admin, dashboard_user, pgbouncer, service_role*, authenticator*, authenticated*, anon*'
supautils.disable_program = 'true'
Original file line number Diff line number Diff line change
@@ -1,21 +1,13 @@
# - Archiving -

#archive_mode = on
#archive_command = '/usr/bin/admin-mgr wal-push %p >> /var/log/wal-g/wal-push.log 2>&1'
#archive_timeout = 120

hot_standby = off

# - Archive Recovery -

#restore_command = '/usr/bin/admin-mgr wal-fetch %f %p >> /var/log/wal-g/wal-fetch.log 2>&1'

# - Recovery Target -

#recovery_target_lsn = ''
#recovery_target_time = ''
#recovery_target_action = 'promote'
#recovery_target_timeline = 'current'
#recovery_target_inclusive = off
#recovery_target_lsn = ''
#recovery_target_time = ''
#recovery_target_timeline = 'latest'

# - Hot Standby -
hot_standby = off
#restore_command = '/usr/bin/admin-mgr wal-fetch %f %p >> /var/log/wal-g/wal-fetch.log 2>&1'
4 changes: 0 additions & 4 deletions ansible/files/postgresql_config/postgresql-stdout-log.conf

This file was deleted.

Loading