Benjamin Renard commited on 2018-01-30 16:45:15
Showing 1 changed files, with 12 additions and 1 deletions.
| ... | ... |
@@ -20,6 +20,7 @@ |
| 20 | 20 |
# |
| 21 | 21 |
|
| 22 | 22 |
PG_USER=postgres |
| 23 |
+PG_MASTER_USER="" |
|
| 23 | 24 |
PSQL_BIN=/usr/bin/psql |
| 24 | 25 |
PG_MAIN=/var/lib/postgresql/9.1/main |
| 25 | 26 |
if [ -f /etc/debian_version ] |
| ... | ... |
@@ -48,6 +49,7 @@ Usage : $0 [-d] [-h] [options] |
| 48 | 49 |
$PG_MAIN) |
| 49 | 50 |
-r recovery_conf Specify Postgres recovery configuration file path |
| 50 | 51 |
(Default : [PG_MAIN]/$RECOVERY_CONF_FILENAME) |
| 52 |
+ -U pg_master_user Specify Postgres user to use on master (Default : user from recovery.conf file) |
|
| 51 | 53 |
-p pg_port Specify default Postgres master TCP port (Default : $PG_DEFAULT_PORT) |
| 52 | 54 |
-D dbname Specify DB name on Postgres master/slave to connect on (Default : PG_USER) |
| 53 | 55 |
-d Debug mode |
| ... | ... |
@@ -56,7 +58,7 @@ EOF |
| 56 | 58 |
exit 0 |
| 57 | 59 |
} |
| 58 | 60 |
|
| 59 |
-while getopts "hu:b:m:r:p:D:d" OPTION |
|
| 61 |
+while getopts "hu:b:m:r:U:p:D:d" OPTION |
|
| 60 | 62 |
do |
| 61 | 63 |
case $OPTION in |
| 62 | 64 |
u) |
| ... | ... |
@@ -71,6 +73,9 @@ do |
| 71 | 73 |
r) |
| 72 | 74 |
RECOVERY_CONF=$OPTARG |
| 73 | 75 |
;; |
| 76 |
+ U) |
|
| 77 |
+ PG_MASTER_USER=$OPTARG |
|
| 78 |
+ ;; |
|
| 74 | 79 |
p) |
| 75 | 80 |
PG_DEFAULT_PORT=$OPTARG |
| 76 | 81 |
;; |
| ... | ... |
@@ -188,6 +193,11 @@ then |
| 188 | 193 |
debug "Master port : $M_PORT" |
| 189 | 194 |
fi |
| 190 | 195 |
|
| 196 |
+ if [ -n "$PG_MASTER_USER" ] |
|
| 197 |
+ then |
|
| 198 |
+ debug "Master user provided by command-line, use it : $PG_MASTER_USER" |
|
| 199 |
+ M_USER="$PG_MASTER_USER" |
|
| 200 |
+ else |
|
| 191 | 201 |
M_USER=$( echo "$MASTER_CONN_INFOS"|sed 's/^.*user= *\([^ ]*\) *.*$/\1/' ) |
| 192 | 202 |
if [ ! -n "$M_USER" ] |
| 193 | 203 |
then |
| ... | ... |
@@ -196,6 +206,7 @@ then |
| 196 | 206 |
else |
| 197 | 207 |
debug "Master user : $M_USER" |
| 198 | 208 |
fi |
| 209 |
+ fi |
|
| 199 | 210 |
|
| 200 | 211 |
# Get current xlog file from master |
| 201 | 212 |
M_CUR_XLOG="$( echo 'SELECT pg_current_xlog_location()'|su - $PG_USER -c "$PSQL_BIN -U $M_USER -h $M_HOST -p $M_PORT -d $PG_DB -t -P format=unaligned" )" |
| 202 | 213 |