PDNS_CONTROL(1)
π NAME π
okay so bestie, this is pdns_control β the little remote-control for the PowerDNS nameserver. think of it as the group chat where you text your nameserver and it actually listens. β¨
β¨ SYNOPSIS β¨
pdns_control [OPTION]... COMMAND
πΈ DESCRIPTION πΈ
pdns_control is literally how you send commands to a PowerDNS nameserver that's already out there running. that's the whole job. it pings the server, the server does the thing. no cap. π
π OPTIONS π
--helpβ shows you a summary of all the options, like a lil cheat sheet.--chroot=<DIR>β the directory where PowerDNS is chrooted. that's the little bubble it lives in.--config-dir=<DIR>β where the configuration directory lives (that's the one withpdns.confin it).--config-name=<NAME>β the name of this virtual configuration β it'll rename the binary image. yes fr.--remote-address=<ADDRESS>β the remote address you wanna query.--remote-port=<PORT>β the remote port you wanna query.--secret=<SECRET>β the secret you need to connect to a remote PowerDNS. it's giving backstage pass. π--socket-dir=<DIR>β where the controlsocket lives. that's the lil doorway you knock on.
π COMMANDS π
bind-add-zone ZONE FILENAME
when you're using the BIND backend, this adds a zone. it goes in in-memory and gets served immediately, so it's instant gratification bestie. important tho: this does not add the zone to the bind-config file. and FILENAME has to be an absolute path, no shortcuts. π«Ά
bind-domain-extended-status [ZONE...]
outputs an extended status of all zones β and it's giving much more info than the simple zone status. think: the number of records currently loaded, whether pdns is primary or secondary for the zone, the list of primaries, various timers, etc. optionally, append ZONEs to get the status of specific zones only. π
bind-domain-status [ZONE...]
when you're using the BIND backend, this lists the status of all zones. optionally append ZONEs to get the status of specific zones. the low-key version of the one above.
bind-list-rejects
when you're using the BIND backend, this gets you a list of all rejected zones. the reject pile. π
bind-reload-now ZONE [ZONE...]
when you're using the BIND backend, this immediately reloads ZONE from disk. right now. no waiting. π₯
ccounts
shows you the content of the cache.
current-config [diff]
shows the currently running configuration. the output has the same format as pdns_server --config. and with the diff option, only the modified options make it into the output. so if you just wanna see what changed, that's your girl.
cycle
restarts the nameserver so it reloads its configuration. β οΈ only works when the server is running in guardian mode.
list
dumps all statistics and their values in a comma separated list β same thing as show *.
list-zones [primary,secondary,native]
shows a list of zones, and you can optionally filter on the type of zones to show. pick your flavor.
notify ZONE
adds ZONE to the notification list, which makes PowerDNS send out notifications to the nameservers of a zone. use it when a secondary missed previous notifications or is just generally hard of hearing. use * to notify for all zones. (note: you may need to escape the * sign in your shell, so it doesn't get eaten before it reaches anyone.) π£
notify-host ZONE ADDRESS
same as above, but with an operator-specified IP ADDRESS as the destination β for when you know better than PowerDNS does. main character energy, honestly.
ping, rping
checks if the server is still alive. returns 'PONG' when it is. π ping works when you're running inside a guardian, whereas rping works when you're running without a guardian.
purge [RECORD]
purges entries from the cache. if RECORD ends with a dollar ($), then all entries that end with that name get removed. if you don't specify a record at all, the entire cache gets purged. bye bye everything. π§Ή
qtypes
gets you a count of queries per qtype, printed on standard output.
quit or stop
tells a running pdns_server to quit. π
rediscover
instructs backends that new zones may have appeared in the database β or, in the case of the BIND backend, in named.conf.
reload
tells the server to reload all its zones. heads up: this will not add new zones. it's a refresh, not a glow-up.
remotes
gets you the top number of remote addresses (the clients).
respsizes
gets you a histogram of the response sizes. π
retrieve ZONE [IP]
retrieves a secondary ZONE from its primary. happens nearly immediately. if IP is specified, then the retrieval is forced from that specified IP. and the port may be specified in an AFI specific manner.
set VARIABLE VALUE
sets the configuration parameter VARIABLE to VALUE. currently only the query-logging can be set. that's it, that's the list. π
show STATISTIC
shows a single statistic, exactly as it appears in the output of the list command.
show STATISTIC-PREFIX*
shows all statistics whose names start with the supplied STATISTIC-PREFIX, as a comma-separated list. only one wildcard is allowed, and it has to be at the end. so *-in-the-middle is not the vibe.
status
shows usage statistics. β οΈ this only works if the server is running in guardian mode.
token-login MODULE SLOT PIN
logs on to a PKCS#11 slot. you only need to log in once per slot, even if you have multiple keys on a single slot. π only available if PowerDNS was compiled with PKCS#11 support.
uptime
shows the uptime of the running server. how long has this queen been awake.
version
prints the version of the running pdns daemon.
π¦ SEE ALSO π¦
pdns_server(1)pdnsutil(1)
π AUTHOR π
PowerDNS.COM BV
π COPYRIGHT π
PowerDNS.COM BV
okay that's the whole page bestie, go forth and control your nameserver responsibly πβ¨
this has been the PDNS_CONTROL manual, page 1, from the PowerDNS Authoritative Server, dated Aug 05, 2026 β periodt. ππ¦π
π¦ where this page comes from
- alpine 3.24: pdns-doc 5.0.7-r0 Β· GPL-2.0-only WITH OpenSSL-Exception
- epel 10: pdns 5.0.7-1.el10_3 Β· GPL-2.0-only
- epel 9: pdns 5.0.7-1.el9 Β· GPL-2.0-only
- fedora 43: pdns 5.0.7-1.fc43 Β· GPL-2.0-only
- fedora 44: pdns 5.0.7-1.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms