implementing PGPASSWORD workaround in query_slon_status
authorLuiz K. Matsumura <luiz.matsumura@gmail.com>
Thu, 25 Oct 2012 13:07:19 +0000 (11:07 -0200)
committerLuiz K. Matsumura <luiz.matsumura@gmail.com>
Thu, 8 Nov 2012 22:03:25 +0000 (20:03 -0200)
If password is defined to node use PGPASSWORD environment variable to allow psql connect with the database

tools/altperl/slon-tools.pm

index 49eb78e84025131f0565b1c18733374d95f950d8..9d0b221462757fe06c5db7ef6f5b591dedf99eb5 100644 (file)
@@ -223,8 +223,13 @@ from "_$CLUSTER_NAME".sl_confirm c, "_$CLUSTER_NAME".sl_subscribe slony_master
 limit 1)
 ;
   };
-  my ($port, $host, $dbname, $dbuser)= ($PORT[$nodenum], $HOST[$nodenum], $DBNAME[$nodenum], $USER[$nodenum]);
-  my $result=`@@PGBINDIR@@/psql -p $port -h $host -U $dbuser -c "$query" --tuples-only $dbname`;
+  my ($port, $host, $dbname, $dbuser, $passwd)= ($PORT[$nodenum], $HOST[$nodenum], $DBNAME[$nodenum], $USER[$nodenum], $PASSWORD[$nodenum]);
+  my $result;
+  if ($passwd) {
+     $result=`PGPASSWORD=$passwd @@PGBINDIR@@/psql -p $port -h $host -U $dbuser -c "$query" --tuples-only $dbname`;
+  } else {
+     $result=`@@PGBINDIR@@/psql -p $port -h $host -U $dbuser -c "$query" --tuples-only $dbname`;
+  }
   chomp $result;
   #print "Query was: $query\n";
   #print "Result was: $result\n";