PowerDNS - ArchWiki

# PowerDNS

PowerDNS is a DNS server, written in C++ and licensed under the GPL. PowerDNS features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms.

## Installation

Install the powerdns package which can be found in the official repositories.

Next you can review the configuration file located at `/etc/powerdns/pdns.conf`.

## Backends

To configure PowerDNS to use specific backend you will need to set then `launch` option in configuration file. Also depending on particular backend you use, you will have to configure it.

For PostgreSQL, MySQL and SQLite you can find database table creation SQL files located at `/usr/share/doc/powerdns`.

### PostgreSQL backend

Firstly you will need to create a user and database where PowerDNS can store data.

Then execute "schema.pgsql.sql" file to create tables.

    psql -U <user> -d <database name> -a -f /usr/share/doc/powerdns/schema.pgsql.sql

And finally update configuration file

    launch=gpgsql
    gpgsql-host=/run/postgresql # if PostgreSQL is listening to unix socket
    # gpgsql-host=127.0.0.1
    # gpgsql-port=5432
    gpgsql-dbname=<database name>
    gpgsql-user=<user to use>
    gpgsql-password=

### MySQL backend

This article or section needs expansion.

Reason: TODO (Discuss)

### SQLite backend

This article or section needs expansion.

Reason: TODO (Discuss)

## Startup

Start/enable the `pdns` service.

## See also

- PowerDNS manual

Category:

- Domain Name System