[Pgpool-general] running several pgpool on the same server (pid_file_name)
npomarede at corp.free.fr
npomarede at corp.free.fr
Thu Oct 30 13:13:38 UTC 2008
Hello,
For the same database, I need to have different pools (currently 2) with
different parameters (pool's size, listening port, ...)
In order to do this, I'm changing 'logdir' so that each pgpool has is own
directory (to store the pidfile used by /etc/init.d/pgpool for instance).
The problem is that if logdir contains a directory path that doesn't
exist, it won't be created by pgpool, and so this needs some modifications
to the standard init.d script to create the dir if needed.
If both pgpool are using the same logdir '/var/run/postgresql' (which
exist, because postgres is running), then we have a problem because both
pgpool will try to create a file name PID_FILE_NAME (pgpool.pid).
For the sockets used in 'socket_dir', we don't have a conflict, because
the socket's filename contains the port attached to this socket, so the
filename will be unique.
So, the only conflict is PID_FILE_NAME. Could it be possible to add a
'pid_file_name' parameter to the config file (defaulting to pgpool.pid).
Another solution could be to create a pid_file_name of the form
pgpool.pid.PORT instead of pgpool.pid (as already done for the socket)
This way, it would be possible to run several pgpool on the same server,
with a few modifications of the init.d script, and with all pgpool related
files still in /var/run/postgresql.
What do you think ? I could provide a patch for this if the idea is
accepted.
Nicolas
More information about the Pgpool-general
mailing list