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 |