PowerDNS が 4.3 から 4.7 にアップグレード

Fedora37 では PowerDNS が 4.7.2 にアップグレードされた。

そこで何故だか次のエラーが発生した。

Exiting because communicator thread died with error: GSQLBackend unable to retrieve list of master domains: Could not prepare statement: select d.id, d.name, d.notified_serial, r.content from records r join domains d on r.name=d.name where r.type='SOA' and r.disabled=0 and d.type='MASTER': Table 'powerdns.records' doesn't exist

原因

PowerDNS 4.7 からデータベースの構造が変わっていたかららしい。

対策

以下の SQL を PowerDNS のデータベースに対して実行した。

ALTER TABLE domains ADD options VARCHAR(64000) DEFAULT NULL;
ALTER TABLE domains ADD catalog VARCHAR(255) DEFAULT NULL;
ALTER TABLE domains MODIFY type VARCHAR(8) NOT NULL;

CREATE INDEX catalog_idx ON domains(catalog);

結果

エラーは出なくなった。

参考

Bug 267363 - dns/powerdns: broken due to missing mandatory schema changes

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です