Port details on branch 2025Q2 |
- powerdns Advanced DNS server with multiple backends including SQL
- 4.9.5 dns
=0 4.9.5Version of this port present on the latest quarterly branch. - Maintainer: tremere@cainites.net
 - Port Added: 2025-05-27 14:27:07
- Last Update: 2025-05-27 14:25:26
- Commit Hash: 53eaf34
- License: GPLv2
- WWW:
- https://www.powerdns.com/auth.html
- Description:
- The PowerDNS Authoritative Server is a versatile nameserver which supports a
large number of backends. These backends can either be plain zone files or be
more dynamic in nature.
PowerDNS has the concepts of 'backends'. A backend is a datastore that the
server will consult that contains DNS records (and some metadata). The backends
range from database backends (MySQL, PostgreSQL) and BIND zone files to
co-processes and JSON API's.
Multiple backends can be enabled in the configuration by using the launch
option. Each backend can be configured separately.
¦ ¦ ¦ ¦ 
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- To install the port:
- cd /usr/ports/dns/powerdns/ && make install clean
- To add the package, run one of these commands:
- pkg install dns/powerdns
- pkg install powerdns
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: powerdns
- Flavors: there is no flavor information for this port.
- NOT_FOR_ARCHS: i386
- distinfo:
- TIMESTAMP = 1746738482
SHA256 (pdns-4.9.5.tar.bz2) = 669bb7b99823b32c3901337d69b38c9f8073f2fc02e8764933b8c5c0974e2724
SIZE (pdns-4.9.5.tar.bz2) = 1380263
No package information for this port in our database- Sometimes this happens. Not all ports have packages. Perhaps there is a build error. Check the fallout link:

- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- gmake>=4.4.1 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- autoconf>=2.72 : devel/autoconf
- automake>=1.17 : devel/automake
- libtoolize : devel/libtool
- Library dependencies:
-
- libboost_program_options.so : devel/boost-libs
- libcurl.so : ftp/curl
- liblmdb.so : databases/lmdb
- libboost_serialization.so : devel/boost-libs
- libunwind.so : devel/libunwind
- liblua-5.4.so : lang/lua54
- libmysqlclient.so.21 : databases/mysql80-client
- libpq.so.5 : databases/postgresql16-client
- libsqlite3.so : databases/sqlite3
- There are no ports dependent upon this port
Configuration Options:
- ===> The following configuration options are available for powerdns-4.9.5:
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
GEOIP=off: GeoIP backend (GeoIP2 DB)
IXFRDIST=off: Build ixfrdist
LMDB=on: LMDB backend
LUABACKEND=off: Lua2 backend
MYSQL=on: MySQL backend
OPENLDAP=off: OpenLDAP backend
PGSQL=on: PostgreSQL backend
REMOTE=off: Remote backend
SQLITE3=on: SQLite 3 backend
TINYDNS=off: TinyDNS backend
TOOLS=off: Build extra tools
UNIXODBC=off: ODBC backend via unixODBC
ZEROMQ=off: Enable ZeroMQ connector (Implies REMOTE enabled)
====> Lua library: you have to select exactly one of them
LUA=on: Use lang/lua
LUAJIT=off: Use luajit
===> Use 'make config' to modify these settings
- Options name:
- dns_powerdns
- USES:
- autoreconf compiler:c++11-lib cpe gmake libtool localbase:ldflags pathfix pkgconfig ssl tar:bzip2 lua mysql pgsql sqlite:3
- pkg-message:
- For install:
- Enable PowerDNS in /etc/rc.conf(.local) or in /etc/rc.conf.d/pdns
with the following line:
pdns_enable="YES"
A configuration template is available in /usr/local/etc/pdns as
pdns.conf-dist.
A pdns.conf with all possible options is available in
/usr/local/share/examples/powerdns.
Initialization file(s) for your database backend(s) are available
in /usr/local/share/doc/powerdns as "schema.X.sql".
- If upgrading from < 3.4.0:
- This version needs a mandatory schema change for the gmysql, gpgsql,
and gsqlite3 backends. SQL statements are available in
/usr/local/share/doc/powerdns or at https://doc.powerdns.com/.
- If upgrading from > 4.0.0 and < 4.2.0:
- Autoserial support has been removed. The change_date column has been
removed from the records table in all gsql backends, but leaving it
in is harmless.
The Generic PostgreSQL backend schema has changed: the notified_serial
column type in the domains table has been changed from INT DEFAULT NULL
to BIGINT DEFAULT NULL:
ALTER TABLE domains ALTER notified_serial TYPE bigint USING CASE
WHEN notified_serial >= 0 THEN notified_serial::bigint END;
This version needs a mandatory schema change for the gmsyql, godbc
(mssql), gpgsql, and gsqlite3 backends. SQL statements are available
in /usr/local/share/doc/powerdns or at https://doc.powerdns.com/.
- If upgrading from > 4.2.0 and < 4.3.0:
- MyDNS and OpenDBX backends had been removed per https://Blog.PowerDNS.com/2019/10/17/backend-removals-in-the-upcoming-authoritative-server-release/.
The new "unpublished DNSSEC keys" feature comes with a mandatory schema
change for all database backends (including BIND with a DNSSEC database).
This version needs a mandatory schema change for the gmsyql, godbc(mssql),
gpgsql, and gsqlite3 backends. SQL statements are available in
/usr/local/share/doc/powerdns or at https://doc.powerdns.com/.
For the LMDB backend, please review lmdb-schema-version (https://doc.powerdns.com/authoritative/backends/lmdb.html#setting-lmdb-schema-version).
- If upgrading from > 4.3.0 and < 4.7.0:
- This version needs a mandatory schema change for gmysql, godbc (mssql),
gpsql, and gsqlite3 backends.
SQL statements are available at https://github.com/PowerDNS/pdns/blob/master/modules in their respective subfolders as "4.3.0_to_4.7.0_schema.xxsql.sql".
- Master Sites:
|