PowerDNS OpenDBX Backend/Configuration/Database specific

From Linuxnetworks
Jump to: navigation, search

MySQL

Supported without changes since OpenDBX 1.0.0.

The file below also contains trigger definitions which are necessary for "auto serial" support, but they are only available in MySQL 5 and later. If you are still using MySQL 4.x and don't want to utilize the automatically generated zone serials, you can safely remove the "CREATE TRIGGER" statements from the file before creating the database tables.

MySQL table definitions

PostgreSQL

Supported without changes since OpenDBX 1.0.0

PostgreSQL table definitions

SQLite and SQLite3

Supported without changes since OpenDBX 1.0.0 but requires to set opendbx-host to the path of the SQLite file (including the trailing slash or backslash, depending on your operating system) and opendbx-database to the name of the file, e.g.

opendbx-host-read = /path/to/file/
opendbx-host-write = /path/to/file/
opendbx-database = powerdns.sqlite

SQLite table definitions

SQLite3 table definitions

Firebird/Interbase

Supported by PowerDNS 2.9.20 and OpenDBX 1.1.4 but requires to set opendbx-database to the path of the database file and doesn't support the default statement for starting transactions. Please add the following lines to your pdns.conf:

opendbx-database = /var/lib/firebird2/data/powerdns.gdb
opendbx-sql-transactbegin = SET TRANSACTION

When creating the database please make sure that you call the isql tool with the parameter "-page 4096". Otherwise, you will get an error (key size exceeds implementation restriction for index "pdns_unq_domains_name") when creating the tables.

isql -u SYSDBA -page 4096

Firebird table definitions

MS SQL Server

Supported by PowerDNS 2.9.20 (with latest patch) and OpenDBX 1.1.4 by using the FreeTDS library. It uses a different scheme for host configuration (requires the name of the host section in the configuration file of the dblib client library) and doesn't support the default statement for starting transactions. Please add the following lines to your pdns.conf:

opendbx-host-read = MSSQL2k
opendbx-host-write = MSSQL2k
opendbx-sql-transactbegin = BEGIN TRANSACTION

MS SQL Server table definitions

Sybase ASE

Supported by PowerDNS 2.9.20 (with latest patch) and OpenDBX 1.1.5 by using the native Sybase ctlib or the FreeTDS library. It uses a different scheme for host configuration (requires the name of the host section in the configuration file of the ctlib client library) and doesn't support the default statement for starting transactions. Please add the following lines to your pdns.conf:

opendbx-host-read = SYBASE
opendbx-host-write = SYBASE
opendbx-sql-transactbegin = BEGIN TRANSACTION

Sybase table definitions

Oracle

Supported by PowerDNS 2.9.20 (with latest patch) and OpenDBX 1.1.6. It uses a different syntax for transactions and requires the following additional line in your pdns.conf:

opendbx-sql-transactbegin = SET TRANSACTION NAME 'AXFR'

Oracle table definitions