summaryrefslogtreecommitdiffstats
path: root/doc/server/database.txt
blob: 15c66754fa38738f7ba6bb26b1d535f9c319d715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
.. -*- mode: rst -*-

.. _server-database:

========================
Global Database Settings
========================

.. versionadded:: 1.3.0

Several Bcfg2 plugins, including
:ref:`server-plugins-grouping-metadata`,
:ref:`server-plugins-probes-index`, and
:ref:`server-plugins-statistics-reporting`, can connect use a
relational database to store data.  They use the global database
settings in ``bcfg2.conf``, described in this document, to connect.

.. note::

    Although SQLite is supported as a database, it may cause
    significant thread contention (and a performance penalty) if you
    use SQLite with :ref:`server-plugins-grouping-metadata` or
    :ref:`server-plugins-probes-index`.  If you are using the
    database-backed features of either of those plugins, it's
    recommended that you use a higher performance database backend.


Configuration Options
=====================

All of the following options should go in the ``[database]`` section
of ``/etc/bcfg2.conf``.

+-------------+------------------------------------------------------------+-------------------------------+
| Option name | Description                                                | Default                       |
+=============+============================================================+===============================+
| engine      | The name of the Django database backend to use. See        | "sqlite3"                     |
|             | https://docs.djangoproject.com/en/dev/ref/settings/#engine |                               |
|             | for available options (note that django.db.backends is not |                               |
|             | included in the engine name)                               |                               |
+-------------+------------------------------------------------------------+-------------------------------+
| name        | The name of the database                                   | "/var/lib/bcfg2/bcfg2.sqlite" |
+-------------+------------------------------------------------------------+-------------------------------+
| user        | The user to connect to the database as                     | None                          |
+-------------+------------------------------------------------------------+-------------------------------+
| password    | The password to connect to the database with               | None                          |
+-------------+------------------------------------------------------------+-------------------------------+
| host        | The host to connect to                                     | "localhost"                   |
+-------------+------------------------------------------------------------+-------------------------------+
| port        | The port to connect to                                     | None                          |
+-------------+------------------------------------------------------------+-------------------------------+
| options     | Extra parameters to use when connecting to the database.   | None                          |
|             | Available parameters vary depending on your database       |                               |
|             | backend. The parameters are supplied as the value of the   |                               |
|             | django OPTIONS setting.                                    |                               |
+-------------+------------------------------------------------------------+-------------------------------+


Database Schema Sync
====================

After making changes to the configuration options or adding a plugin
that uses the global database, you should run ``bcfg2-admin syncdb``
to resync the database schema.