When I was testing pg_resetxlog with relative database path,
The pg_resetxlog is doing the transaction log reset even when the server is
running.

Steps to reproduce:
        1. ./pg_ctl -D ../../data start
        2. ./pg_resetxlog -f ../../data  -- is not able to detect as server
is already running.     


Please find the patch for the same: 

*** a/src/bin/pg_resetxlog/pg_resetxlog.c 
--- b/src/bin/pg_resetxlog/pg_resetxlog.c 
*************** 
*** 254,260 **** main(int argc, char *argv[]) 
           */ 
          snprintf(path, MAXPGPATH, "%s/postmaster.pid", DataDir); 
  
!         if ((fd = open(path, O_RDONLY, 0)) < 0) 
          { 
                  if (errno != ENOENT) 
                  { 
--- 254,260 ---- 
           */ 
          snprintf(path, MAXPGPATH, "%s/postmaster.pid", DataDir); 
  
!         if ((fd = open("postmaster.pid", O_RDONLY, 0)) < 0) 
          { 
                  if (errno != ENOENT) 
                  { 

Any suggestions/comments?

Regards, 
Hari babu.



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to