Stephan Szabo wrote:
On Thu, 16 Oct 2003, Oli Sennhauser wrote:


I would like to start a second postmaster on my server.
First problem was the lock file /tmp/.s.PGSQL.5432.lock
and its socket. But you can workaround that by the -k
parameter. So I was able to start at least 3 clusters...


If you want to use separate directories for the socket, you
need to use -h <directory>  (and -p <port> if it's not the default)
when connecting with psql.  However, you probably just want to
use different port numbers to start the postmasters and then use
psql -p <port> to connect.

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster


>>Thank you for answering.
>>>
>>> Do you mean -k <directory> (or -h <hostname>)? -k <directory> is exactly
>>> what I did. And it did not work in my case. In my opinion we should not
>>> need -i and -h in this example, because I only want to do local connects.
>
>psql -h /u00/app/pgsql/data/CLUSTER1
>means use a local socket located in that directory (with the
>"port" number of 5432 - which is used in determing the filename).
>
>>From the 7.3 psql manpage:
>-h hostname
>--host hostname
>Specifies the host name of the machine on which the postmaster is
>running. If host begins with a slash, it is used as the directory for >the
>Unix-domain socket.


Ok, now I understand it! Thank you verry much Stephan

Here is my final solution:

$ CLUSTER1
$ pg_ctl start -D $PG_DATA -l $PG_DATA/$PG_CID.log -o "-k $PG_DATA -p $PG_PORT"
postmaster successfully started


$ CLUSTER2
$ pg_ctl start -D $PG_DATA -l $PG_DATA/$PG_CID.log -o "-k $PG_DATA -p $PG_PORT"
postmaster successfully started


$ CLUSTER3
$ pg_ctl start -D $PG_DATA -l $PG_DATA/$PG_CID.log -o "-k $PG_DATA -p $PG_PORT"
postmaster successfully started


$ ps -fu postgres
UID PID PPID C STIME TTY TIME CMD
postgres 402 1 0 10:29 pts/1 00:00:00 /u00/app/pgsql/products/7.4.0/bin/postmaster -k /u00/app/pgsql/data/CLUSTER1 -p 5
postgres 404 402 0 10:29 pts/1 00:00:00 postgres: stats buffer process
postgres 406 404 0 10:29 pts/1 00:00:00 postgres: stats collector process
postgres 436 1 0 10:29 pts/1 00:00:00 /u00/app/pgsql/products/7.4.0/bin/postmaster -k /u00/app/pgsql/data/CLUSTER2 -p 5
postgres 438 436 0 10:29 pts/1 00:00:00 postgres: stats buffer process
postgres 439 438 0 10:29 pts/1 00:00:00 postgres: stats collector process
postgres 469 1 0 10:29 pts/1 00:00:00 /u00/app/pgsql/products/7.3.3/bin/postmaster -k /u00/app/pgsql/data/CLUSTER3 -p 5
postgres 471 469 0 10:29 pts/1 00:00:00 postgres: stats buffer process
postgres 473 471 0 10:29 pts/1 00:00:00 postgres: stats collector process


$ netstat -ap | grep PGSQL
unix 2 [ ACC ] STREAM LISTENING 287991 402/postmaster /u00/app/pgsql/data/CLUSTER1/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 288022 436/postmaster /u00/app/pgsql/data/CLUSTER2/.s.PGSQL.5434
unix 2 [ ACC ] STREAM LISTENING 288051 469/postmaster /u00/app/pgsql/data/CLUSTER3/.s.PGSQL.5436


$ CLUSTER1
$ psql -l -h $PG_DATA
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 T740A     | postgres | SQL_ASCII
 T740B     | postgres | SQL_ASCII
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII

$ CLUSTER2
$ psql -l -h $PG_DATA
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII

$ CLUSTER3
$ psql -l -h $PG_DATA
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII


---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to