In all but a few cases, having one refdbd daemon per network is absolutely sufficient. However, there are a few cases where you may end up running more than one instance of refdbd on the same computer at the same time:
You want to provide access to more than one database engine. The only good reason to do this may be to test-drive a different database engine.
You want to test-drive a new refdb release without interrupting the access to your installed version
You do not want to run refdbd as a daemon serving all users. Instead, each user should be able to run his own copy of refdbd
You'll have to configure each refdbd process individually. If each user starts his own copy of the application server, private .refdbdrc
configuration files in the users' $HOME
directory allow a simple setup. If you want to run more than one daemon as non-user-processes, you cannot safely use the refdbctl script to control the instances. Instead you should start and stop the daemons manually and use the appropriate command-line options to configure each process individually. The options which need to be set differently whenever more than one refdbd instance runs on the same box are:
-D
, -i
, and-b
to set the database engine, IP address, and the port it listens on, respectively. Only required if you fiddle with two different database engines.
-e
and -L
to use separate log files for the two instances. This may be easier to evaluate than using syslog, although the processes can be distinguished by means of their process ID.
-P
to use separate PID files
-p
to set the port each refdbd instance listens on. The ports must be different, otherwise clients can't select which instance to connect to.
On the client side you'll need only set the port
configuration variable or use the -p
command line option to select the application server instance that you want to connect to.