<html>
  <head>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi All,<br>
    <br>
    I'm just a beginner with pgpool, and I'm not able to recover a node
    using pgpool recovery.<br>
    <br>
    SO: Red Hat 6.4<br>
    pgpool version: pgpool-II-2.2.2<br>
    postgresSQL: 8.4.18<br>
    <br>
    I'm using the user postgres also in pgpool.conf file as
    recovery_user just to simplify.<br>
    <br>
    When I execute:<br>
    <font face="Courier New, Courier, monospace">postgres$
      /opt/pgpool2/bin/pcp_recovery_node 20 postgres1 9898 postgres
      postgres 1<br>
      BackendError</font><br>
    <br>
    taking a look at the logs:<br>
    <br>
    pgpool log:<br>
    <br>
    <font face="Courier New, Courier, monospace">2014-02-12 14:44:16
      DEBUG: pid 31401: I am PCP 31401 accept fd 5<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: received PCP
      packet type of service 'M'<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: salt sent to the
      client<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: received PCP
      packet type of service 'R'<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: authentication OK<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: received PCP
      packet type of service 'O'<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: start online
      recovery<br>
      2014-02-12 14:44:16 LOG:&nbsp;&nbsp; pid 31401: starting recovering node 1<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: exec_checkpoint: start
      checkpoint<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: exec_checkpoint: finish
      checkpoint<br>
      2014-02-12 14:44:16 LOG:&nbsp;&nbsp; pid 31401: CHECKPOINT in the 1st stage
      done<br>
      2014-02-12 14:44:16 LOG:&nbsp;&nbsp; pid 31401: starting recovery command:
      "SELECT pgpool_recovery('copy_base_backup', '10.164.4.223',
      '/var/lib/pgsql/data')"<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: exec_recovery: start
      recovery<br>
      2014-02-12 14:44:16 ERROR: pid 31401: exec_recovery:
      copy_base_backup command failed at 1st stage<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: exec_recovery: finish
      recovery<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: received PCP
      packet type of service 'X'<br>
      2014-02-12 14:44:16 DEBUG: pid 31401: pcp_child: client
      disconnecting. close connection<br>
      <br>
    </font><br>
    postgres log:<br>
    <br>
    <font face="Courier New, Courier, monospace">LOG:&nbsp; connection
      received: host=10.164.4.222 port=57182<br>
      LOG:&nbsp; connection authorized: user=postgres database=template1<br>
      LOG:&nbsp; statement: CHECKPOINT<br>
      LOG:&nbsp; statement: SELECT pgpool_recovery('copy_base_backup',
      '10.164.4.223', '/var/lib/pgsql/data')<br>
      sh: /var/lib/pgsql/data/copy_base_backup: Permission denied<br>
      ERROR:&nbsp; pgpool_recovery failed<br>
      STATEMENT:&nbsp; SELECT pgpool_recovery('copy_base_backup',
      '10.164.4.223', '/var/lib/pgsql/data')<br>
      LOG:&nbsp; disconnection: session time: 0:00:00.113 user=postgres
      database=template1 host=10.164.4.222 port=57182<br>
    </font><br>
    It seems a permission issue, however I have set the script
    copy_base_backup's permission to 777, just in case and if I run this
    script directly everything goes right:<br>
    <br>
    <font face="Courier New, Courier, monospace">postgres$ $
      ./copy_base_backup . 10.164.4.223 /var/lib/pgsql/data/<br>
      #! /bin/sh -xvvv<br>
      <br>
      DATA=$1<br>
      + DATA=.<br>
      RECOVERY_TARGET=$2<br>
      + RECOVERY_TARGET=10.164.4.223<br>
      echo "$RECOVERY_TARGET"<br>
      + echo 10.164.4.223<br>
      10.164.4.223<br>
      RECOVERY_DATA=$3<br>
      + RECOVERY_DATA=/var/lib/pgsql/data/<br>
      echo "$RECOVERY_DATA"<br>
      + echo /var/lib/pgsql/data/<br>
      /var/lib/pgsql/data/</font><br>
    <br>
    <font face="Courier New, Courier, monospace">psql -c "select
      pg_start_backup('pgpool-recovery')" postgres<br>
      + psql -c 'select pg_start_backup('\''pgpool-recovery'\'')'
      postgres<br>
      &nbsp;pg_start_backup <br>
      -----------------<br>
      &nbsp;0/21000020<br>
      (1 row)<br>
      <br>
      echo "restore_command = 'scp
      $HOSTNAME:/var/lib/pgsql/data/pg_xlog_archive/%f %p'" &gt;
      /var/lib/pgsql/data/recovery.conf<br>
      + echo 'restore_command = '\''scp
      postgres1.corenetworks.es:/var/lib/pgsql/data/pg_xlog_archive/%f
      %p'\'''<br>
      tar -C /var/lib -zcf pgsql.tar.gz pgsql<br>
      + tar -C /var/lib -zcf pgsql.tar.gz pgsql<br>
      tar: pgsql/data/pgsql.tar.gz: file changed as we read it<br>
      <br>
      psql -c 'select pg_stop_backup()' postgres<br>
      + psql -c 'select pg_stop_backup()' postgres<br>
      &nbsp;pg_stop_backup <br>
      ----------------<br>
      &nbsp;0/21000088<br>
      (1 row)<br>
      <br>
      scp pgsql.tar.gz $RECOVERY_TARGET:$RECOVERY_DATA<br>
      + scp pgsql.tar.gz 10.164.4.223:/var/lib/pgsql/data/<br>
      pgsql.tar.gz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

      100%&nbsp;&nbsp; 59MB&nbsp; 29.6MB/s&nbsp;&nbsp; 00:02 </font><br>
    <br>
    And I got copy of pgsql.tar.gz directory both in local and remote
    nodes, so is not a ssh problem.<br>
    <br>
    Additionally when the SELECT sentence is executed:<br>
    <font face="Courier New, Courier, monospace">postgres$ psql -h
      postgres1 -p 9999 -U postgres -d template1<br>
      <br>
      template1=# SELECT pgpool_recovery('copy_base_backup',
      '10.164.4.223', '/var/lib/pgsql/data');<br>
      ERROR:&nbsp; pgpool_recovery failed<br>
    </font><br>
    <br>
    Any help would be really appreciated,<br>
    kind regards,<br>
    Cristina<br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>