Before migrating to PDNS a few things should be considered.
Only the Generic SQL, OpenDBX and BIND backends have the ability to act as master or slave.
Additionally, the PowerDNS source comes with a number of diagnostic tools, which can be helpful in verifying proper PowerDNS operation, versus incumbent nameservers. See Chapter 19 for more details.
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'.
For backends supporting slave operation (currently only the Generic PostgreSQL, Generic MySQL and BIND backend), there is also an option to keep slave zones as slaves, and not convert them to native operation.
By default, zone2sql outputs code suitable for the mysqlbackend, but it can also generate SQL for the Generic PostgreSQL, Generic MySQL and Oracle backends. 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 MySQL backend.
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.
Maintain slave status of zones listed in named.conf as being slaves. The default behaviour is to convert all zones to native operation.
Supply a value for the first domain_id generated. Defaults at 0.
For Oracle and PostgreSQL output, wrap each domain in a transaction for higher speed and integrity.
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.