From 14e4b865caf15398b713fdd2bf0091646a0a68bf Mon Sep 17 00:00:00 2001 From: Yogesh Sharma Date: Thu, 6 Mar 2025 17:26:07 -0500 Subject: [PATCH] Add support for per env postgresql configs. When these configs are present, conf files from pgconfigs are skipped. --- README.md | 7 +++++++ pg-env | 14 +++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 987bbd9..2afe152 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,13 @@ pg${PGV}.conf pg${PGV}-.conf ``` +PostgreSQL local configs per are named similarly but starts with (.) dot and stored in worktree folder. These will superseed `${GIT_DIR}/pgconfigs/`: + +``` +.pg${PGV}.conf +.pg${PGV}-.conf +``` + ### Advance setting for pg-env | Config | Defaults | Description | diff --git a/pg-env b/pg-env index 4041b63..fb4dd98 100755 --- a/pg-env +++ b/pg-env @@ -314,12 +314,20 @@ pexec(){ setupdb(){ if [ -z "$1" ]; then initdb --data-checksums --username=${USER} - echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}.conf'" >> ${PGDATA}/postgresql.conf + if [ -f "$(pwd)/.pg${PGV}.conf" ]; then + echo "include = '$(pwd)/.pg${PGV}.conf'" >> ${PGDATA}/postgresql.conf + else + echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}.conf'" >> ${PGDATA}/postgresql.conf + fi else for NodeN in $@ do - initdb --data-checksums --username=${USER} -D ${PGDATA}-${NodeN} - echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}-${NodeN}.conf'" >> ${PGDATA}-${NodeN}/postgresql.conf + initdb --data-checksums --username=${USER} -D ${PGDATA}-${NodeN} + if [ -f "$(pwd)/.pg${PGV}-${NodeN}.conf" ]; then + echo "include = '$(pwd)/.pg${PGV}-${NodeN}.conf'" >> ${PGDATA}-${NodeN}/postgresql.conf + else + echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}-${NodeN}.conf'" >> ${PGDATA}-${NodeN}/postgresql.conf + fi done fi }