Backend removals in the upcoming Authoritative Server release
PowerDNS Authoritative server 4.2 supports over 15 different backends. While reviewing the existing backends we came to the conclusion that the sheer amount of them holds us back from developing the core of the Authoritative server further, while at the same time for some backends we have no indication that they are being widely used and we see some of them lack modern functionality unlikely to be implemented. We have therefore decided to remove the following backends in the upcoming 4.3.0 release (due February 2020):
- Oracle and Generic Oracle (goracle)
- Lua (superseded by Lua2)
We advice users of those backends to switch to one of the Generic SQL backends that we natively support (PostgreSQL, MySQL, SQLite), or in case of Lua switch to the newer Lua2 backend. We recommend the pdnsutil b2b-migrate tool to migrate to one of the Generic SQL backends using 4.2.x.
Users of the other existing backends need not be alarmed by these removals. There are no intentions of removing backends other than the ones mentioned here for the foreseeable future.
The rationales for each specific backend are detailed below.
The OpenDBX software has not seen active maintenance for many years, is not shipped for (Red Hat) Enterprise Linux nor EPEL, and the package is orphaned in Debian. Users of the OpenDBX backend can switch to the ODBC backend or one of the SQL backends.
The Oracle and Generic Oracle (goracle) backends depend on non-free software that requires significant resources from us to support. Commercial parties can contact us for a support contract if they specifically rely on Oracle support.
The MyDNS database schema is unable to handle newer PowerDNS features and the original software has been abandoned for over a decade.
The Lua backend is superseded in Authoritative Server 4.2 by the new Lua2 backend. Lua2 reuses the common Lua codes and classes already used in both dnsdist and the PowerDNS Recursor, easing maintenance. Users of the Lua backend are advised to move to the Lua2 backend.