InterBase Multi Instance Support
For many years, it has been possible to install more than one copy of InterBase on the same machine and have them co-exist.
The default instance of InterBase is named gds_db and this instance listens on port 3050. There can only be one InterBase instance named gds_db on the same machine. To have additional instances, it is necessary to give each one a different name and also to have it listening on a different port. One other thing to add is that each instance must be licensed with a separate serial number - InterBase can detect if two instances are trying to start when using the same license and the second one will not start.
Installation
The installer has an option to enable multi-instance support. Select Yes in this screen:
The next screen will ask for the instance name and port number. Perhaps use a system that is easy to remember, such as to use the version number and bitness of the server. So in this example, set the instance name to be ib15064 and have it listen on port number 15064.
Choose a different installation path to the default such as to include the instance name.
When the installation has completed, instance specific data will be stored at c:\programdata\embarcadero\interbase\<instance name> so for this installation, that will be
C:\programdata\embarcadero\interbase\ib15064
Connecting to an instance locally
The InterBase client can make use of the IB_PROTOCOL environment variable when making local connections. To connect to the ib15064 instance using the command line tools, set up a batch file that makes use of the IB_PROTOCOL variable:
C:\mystuff\ibprompts>type ib1564envt.bat
@echo off
chcp 1252 > NUL
PATH C:\Program Files\Embarcadero\InterBase\ib15064\bin;%PATH%
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
SET IB_PROTOCOL=ib15064
start "InterBase 15 (64 bit) Environment"
Note that this batch file also sets the ISC_USER name and ISC_PASSWORD variable. In a development environment where sample data is used and with the default sysdba password, it is convenient to not to have to type the user name and password. In a production environment, this may not be advisable.
In the screenshot below, a similar batch file is set up for a 2020 installation. Here you can see them connected at the same time:
In RAD Studio, an IB_PROTOCOL variable is also set up. To allow RAD Studio to connect to the sample ib15064 instance, change it to ib15064. Also there is an InterBase environment variable. It is recommended to always delete this because it is not necessary. Restart the IDE before making use of the changed IB_PROTOCOL variable.
IBX can make use of this:
For some reason, FireDAC ignores the IB_PROTOCOL variable. When making a local connection from FireDAC, you need to set the InstanceName parameter
Connecting via TCP/IP
To connect to an instance over TCP/IP, use the port number. To continue with this example, this is 15064. With IBX:
With FireDAC:








