In the course of compiling and using PowerDNS, many questions may arise. Here are some we've heard earlier or questions we expect people may have. Please read this list before mailing us!
If you don't see your question answered here, please check out the Wiki FAQ, but do note that it is user-editable and not under our constant control.
As the name implies, this is not an error. It tells you there are questions for a domain which exists in your database, but for which no record of the requested type exists. To get rid of this error, add log-dns-details=off to your configuration.
A: You can. This might for example be useful to keep an existing BIND configuration around but to store new zones in, say MySQL. The syntax to use is 'launch=bind,gmysql'.
A: This is almost always not the case. An authoritative answer is recognized by the 'AA' bit being set. Many tools prominently print the number of Authority records included in an answer, leading users to conclude that the absence or presence of these records indicates the authority of an answer. This is not the case.
Verily, many misguided country code domain operators have fallen into this trap and demand authority records, even though these are fluff and quite often misleading. Invite such operators to look at section 6.2.1 of RFC 1034, which shows a correct authoritative answer without authority records. In fact, none of the non-deprecated authoritative answers shown have authority records!
Sorry for sounding like DJB on this, but we get so many misguided questions about authority..
A: If you have no external constraints, the Generic MySQL (gmysql) and Generic PostgreSQL (gpgsql) ones are probably the most used and complete. By all means do not use the non-generic MySQL backend, which is deprecated and only available for older installations.
The Oracle backend also has happy users, we know of no deployments of the DB2 backend. The BIND backend is pretty capable too in fact, but many prefer a relational database.
A: You did not read the changelog, nor the README. The 'pgmysql' backend is no more and has been split into the gmysql and gpgsql backends, with the common code residing within PowerDNS itself.
A: Reasons behind this are somewhat unclear but we hear they go away if you use a more recent compiler. Let us know
on <pdns-dev@mailman.powerdns.com>
. See also
here.
A: Read the 'HACKING' file, it lists the build requirements (mostly autoconf, automake, libtool). In many cases, it may be easier to build from the source distribution though.
A: Indeed, and this is pretty sad. Either upgrade to Solaris 8 or convince people to write the replacement functions needed to encode AAAA if the host operating system does not offer them.
A: Your gcc is too old. Versions 2.95.2 and older are not supported. Many distributions have improved gcc 2.95.2 with an ostringstream implementation, in which case their 2.95.2 is also supported. We like gcc 3.2.1 best.
A: Sadly, the gcc C++ on-disk object format has changed a few times since the 2.95 days. This means that gcc 3.2.1 cannot link against libpq++.so compiled with 2.95. The trick is to recompile PostgreSQL with 3.2.1 too and have it install in a separate location. Then reconfigure the pdns compile to look there, with ./configure --with-pgsql-lib=/opt/postgresql-with-3.2.1/lib
A: As of 7.3, libpq++ has been split out of the main PostgreSQL distribution. See here. It would in fact be a great idea to move the gpgsql backend to the C interface instead of the C++ one. On Debian 'Sid', libpq++.so hides in the libpqpp-dev package.
A: Indeed. Install the .debs that come with Debian or recompile PowerDNS yourself. If not using MySQL, the crashes will go away if you remove setuid and setgid statements from the configuration.
A: Raise the serial number of your zone. In most backends, this is the first digit of the SOA contents field. If this number is lower to equal to that on a slave, it will not consider your zone updated.
A: The Master/Slave apparatus is off by default. Turn it on by adding a slave and/or master statement to the configuration file. Also, check that the configured backend is master or slave capable.
A: Mark Bergsma contributed the query-local-address setting to tell PowerDNS which local IP address to use.
A: There are known issues between gcc <3.2 and PowerDNS on Linux SMP systems. The exact cause is not known but moving to our precompiled version always fixes the problems. If you compile yourself, use a recent gcc!
A: Check your MySQL timeout, it may be set too low. This can be changed in the my.cnf file.
A: Please don't ignore what PowerDNS says to you. Furthermore, read Chapter 15 about the local-address setting, and use it to specify which IP addresses PowerDNS should listen on.
A: You can. MySQL support is supplied through the ODBC backend, which is compiled into the main binary. So if you want to use MySQL you can change the pdns.conf file, which is located in the PowerDNS for Windows directory, to use the correct ODBC data sources. If you don't know how to use ODBC with MySQL:
Download MyODBC from http://www.mysql.com/
Install the MySQL ODBC driver.
![]() | For other databases for which an ODBC driver is available, the procedure is the same as this example. |