1
1
#! /usr/bin/env bash
2
2
# shellcheck shell=bash
3
-
4
3
[ ! -z " $DEBUG " ] && set -x
5
-
6
4
# first argument should be '15' or '16' for the version
7
5
if [ " $1 " == " 15" ]; then
8
6
echo " Starting server for PSQL 15"
20
18
echo " Please provide a valid Postgres version (15, 16 or orioledb-16)"
21
19
exit 1
22
20
fi
23
-
24
21
export PATH=$BINDIR /bin:$PATH
25
-
26
22
PGSQL_SUPERUSER=@PGSQL_SUPERUSER@
27
23
PSQL_CONF_FILE=@PSQL_CONF_FILE@
28
24
PGSODIUM_GETKEY_SCRIPT=@PGSODIUM_GETKEY@
@@ -32,6 +28,7 @@ LOGGING_CONFIG_FILE=@LOGGING_CONF_FILE@
32
28
READREPL_CONFIG_FILE=@READREPL_CONF_FILE@
33
29
PG_HBA_FILE=@PG_HBA@
34
30
PG_IDENT_FILE=@PG_IDENT@
31
+ EXTENSION_CUSTOM_SCRIPTS=@EXTENSION_CUSTOM_SCRIPTS_DIR@
35
32
DATDIR=$( mktemp -d)
36
33
LOCALE_ARCHIVE=@LOCALES@
37
34
export LOCALE_ARCHIVE
@@ -41,22 +38,30 @@ export LC_ALL=en_US.UTF-8
41
38
export LANG=en_US.UTF-8
42
39
export LC_CTYPE=en_US.UTF-8
43
40
mkdir -p " $DATDIR "
44
-
45
41
echo " NOTE: using port $PORTNO for server"
46
42
echo " NOTE: using temporary directory $DATDIR for data, which will not be removed"
47
43
echo " NOTE: you are free to re-use this data directory at will"
48
-
49
44
initdb -U " $PGSQL_SUPERUSER " -D " $DATDIR "
50
-
51
45
echo " NOTE: patching postgresql.conf files"
52
-
53
- sed -e " \$ a\\
54
- include = '$SUPAUTILS_CONFIG_FILE ' \\
55
- pgsodium.getkey_script = '$PGSODIUM_GETKEY_SCRIPT '" \
56
- -e " s|data_directory = '/var/lib/postgresql/data'|data_directory = '$DATDIR '|" \
57
- -e " s|hba_file = '/etc/postgresql/pg_hba.conf'|hba_file = '$PG_HBA_FILE '|" \
58
- -e " s|ident_file = '/etc/postgresql/pg_ident.conf'|ident_file = '$PG_IDENT_FILE '|" \
59
- -e " s|include = '/etc/postgresql/logging.conf'|#&|" \
60
- -e " s|include = '/etc/postgresql-custom/read-replica.conf'|include = '$READREPL_CONFIG_FILE '|" \
61
- " $PSQL_CONF_FILE " > " $DATDIR /postgresql.conf"
62
- postgres -p " $PORTNO " -D " $DATDIR " -k /tmp
46
+ cp " $PG_HBA_FILE " " $DATDIR /pg_hba.conf"
47
+ cp " $PG_IDENT_FILE " " $DATDIR /pg_ident.conf"
48
+ cp " $READREPL_CONFIG_FILE " " $DATDIR /read-replica.conf"
49
+ cp -r " $EXTENSION_CUSTOM_SCRIPTS " " $DATDIR "
50
+ sed " s|supautils.privileged_extensions_custom_scripts_path = '/etc/postgresql-custom/extension-custom-scripts'|supautils.privileged_extensions_custom_scripts_path = '$DATDIR /extension-custom-scripts'|" " $SUPAUTILS_CONFIG_FILE " > " $DATDIR /supautils.conf"
51
+ sed -e " 1i\\
52
+ include = '$DATDIR /supautils.conf'" \
53
+ -e " \$ a\\
54
+ pgsodium.getkey_script = '$PGSODIUM_GETKEY_SCRIPT '" \
55
+ -e " s|data_directory = '/var/lib/postgresql/data'|data_directory = '$DATDIR '|" \
56
+ -e " s|hba_file = '/etc/postgresql/pg_hba.conf'|hba_file = '$DATDIR /pg_hba.conf'|" \
57
+ -e " s|ident_file = '/etc/postgresql/pg_ident.conf'|ident_file = '$DATDIR /pg_ident.conf'|" \
58
+ -e " s|include = '/etc/postgresql/logging.conf'|#&|" \
59
+ -e " s|include = '/etc/postgresql-custom/read-replica.conf'|include = '$DATDIR /read-replica.conf'|" \
60
+ -e " \$ a\\
61
+ session_preload_libraries = 'supautils'" \
62
+ " $PSQL_CONF_FILE " > " $DATDIR /postgresql.conf"
63
+ cat " $DATDIR /postgresql.conf"
64
+ # cat "$DATDIR/supautils.conf"
65
+ # whoami
66
+ ls -la $DATDIR
67
+ postgres --config-file=" $DATDIR /postgresql.conf" -p " $PORTNO " -D " $DATDIR " -k /tmp
0 commit comments