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