Close menu

SQL/R systemd support

systemd is framework to manage services in Linux. It was adopted by all contemporary Linux distributions and replaces the previous SystemV start/stop scripts to manage background services.

SQL/R on the Linux platform by default uses systemd to manage its services instead of the "traditional" SystemV start/stop scripts.

Each service type is defined by a unit file that describes the service and its dependency to systemd. The following systemd unit files are available with SQL/R:

sqlr40.service
The default SQL/R server instance.

sqlr40@.service
Additional SQL/R server instances. The instance name is specified after the @ sign and implies the SQL/R server configuration file name. For example, a service name sqlr84@test.service would use the odbc-test.cfg configuration file.
The unit file names are versioned to allow coexistence with other SQL/R releases. Once enabled and started a service name without a version number may be used as an alias.

The SQL/R services are not enabled by default. The systemctl enable command is used to enable the services for autostart.

systemctl enable sqlr40
A .service extension is implied for service names and may typically be omitted.

The sqlr40@ instance must be enabled with an additional instance name. The instance name also defines the name of the associated configuration file.

systemctl enable sqlr40@test
The sqlr40@test.service describes an sqlrodbcd instance using the configuration file odbc-test.cfg.

The systemctl start command is used to start the enabled SQL/R services (requires root).

systemctl start sqlr40
Changing system wide systemd services requires root permissions. Using sudo (with an appropriate sudoers entry) may be used to allow users to start/stop SQL/R services without unlimited root access.