Before migrating to PDNS a few things should be considered.
If PDNS receives a question for which it is not authoritative, it can't go out on the net to figure out an answer. However, because many installations are expected to be both authoritative and recursing, PDNS can use a separate recursing backend to provide non-authoritative answers. See Chapter 11 for more details.
PDNS will happily read your Bind named.conf but will not, right now, honour statements regarding master/slave operation. The recommended setup is to replicate nameserver data by using your database's native replication facility, or, when using zonefiles, rsync.
Zone2sql parses Bind named.conf files and zonefiles and outputs SQL on standard out, which can then be fed to your database.
Zone2sql understands the Bind master file extension '$GENERATE' and will also honour '$ORIGIN' and '$TTL'.
By default, zone2sql outputs code suitable for the mysqlbackend, which can also be read by PostgreSQL incidentally. The following commands are available:
Output in a bare format, suitable for further parsing. The output is formatted as follows:
domain_id<TAB>'qname'<TAB>'qtype'<TAB>'content'<TAB>prio<TAB>ttl
Output in format suitable for the default configuration of the Generic PostgreSQL backend.
List options.
Output in format suitable for the default configuration of the MySQL backend. Default.
Parse this named.conf to find locations of zones.
Ignore missing files during parsing. Dangerous.
Output in format suitable for the default configuration of the Generic Oracle backend.
Supply a value for the first domain_id generated. Defaults at 0.
Be verbose during conversion.
Parse only this zone file. Conflicts with --named-conf parameter.
When parsing a single zone without $ORIGIN statement, set this as the zone name.