(gnu services databases) module provides the following services.
Return a service that runs postgresql, the PostgreSQL database server.
The PostgreSQL daemon loads its runtime configuration from config-file, creates a database cluster with locale as the default locale, stored in data-directory. It then listens on port.
Additional extensions are loaded from packages listed in
extension-packages. Extensions are available at runtime. For instance,
to create a geographic database using the
postgis extension, a user can
configure the postgresql-service as in this example:
(use-package-modules databases geo) (operating-system ... ;; postgresql is required to run `psql' but postgis is not required for ;; proper operation. (packages (cons* postgresql %base-packages)) (services (cons* (postgresql-service #:extension-packages (list postgis)) %base-services)))
Then the extension becomes visible and you can initialise an empty geographic database in this way:
psql -U postgres > create database postgistest; > \connect postgistest; > create extension postgis; > create extension postgis_topology;
There is no need to add this field for contrib extensions such as hstore or dblink as they are already loadable by postgresql. This field is only required to add extensions provided by other packages.
Return a service that runs
mysqld, the MySQL or MariaDB
The optional config argument specifies the configuration for
mysqld, which should be a
Data type representing the configuration of mysql-service.
Package object of the MySQL database server, can be either mariadb or mysql.
For MySQL, a temporary root password will be displayed at activation time. For MariaDB, the root password is empty.
TCP port on which the database server listens for incoming connections.
This is the service type for the Memcached service, which provides a distributed in memory cache. The
value for the service type is a
Data type representing the configuration of memcached.
The Memcached package to use.
Network interfaces on which to listen.
Port on which to accept connections on,
Port on which to accept UDP connections on, a value of 0 will disable listening on a UDP socket.
Additional command line options to pass to
This is the service type for MongoDB.
The value for the service type is a
Data type representing the configuration of mongodb.
The MongoDB package to use.
The configuration file for MongoDB.
This value is used to create the directory, so that it exists and is owned by the mongodb user. It should match the data-directory which MongoDB is configured to use through the configuration file.
This is the service type for the Redis
key/value store, whose value is a
Data type representing the configuration of redis.
The Redis package to use.
Network interface on which to listen.
Port on which to accept connections on, a value of 0 will disable listening on a TCP socket.
Directory in which to store the database and related files.