README.sdb_pgsql
bind-9.3.1rc1-sdb_tools-Makefile.in
bind-9.3.2-redhat_doc.patch
bind-9.3.2b1-fix_sdb_ldap.patch
bind-9.3.2b2-sdbsrc.patch
bind-9.5-PIE.patch
bind-9.5-dlz-64bit.patch
bind-9.5-libidn.patch
bind-9.5-libidn2.patch
bind-9.5-libidn3.patch
bind-9.5-parallel-build.patch
bind-9.5-sdb-sqlite-bld.patch
bind-9.5-sdb.patch
bind-9.9.1-P2-dlz-libdb.patch
bind-9.9.1-P2-multlib-conflict.patch
bind-9.9.3-include-update-h.patch
bind-95-rh452060.patch
bind-96-dyndb.patch
bind-96-old-api.patch
bind-99-dyndb-rh1142150.patch
bind-nonexec.patch
bind.tmpfiles.d
bind93-rh490837.patch
bind95-rh461409.patch
bind97-dist-pkcs11.patch
bind97-exportlib.patch
bind97-rh478718.patch
bind97-rh570851.patch
bind97-rh645544.patch
bind97-rh669163.patch
bind97-rh693982.patch
bind98-rh735103.patch
bind99-CVE-2014-0591.patch
bind99-CVE-2014-8500.patch
bind99-CVE-2015-1349.patch
bind99-CVE-2015-4620.patch
bind99-ISC-Bugs-34738.patch
bind99-ISC-Bugs-34870-v3.patch
bind99-ISC-Bugs-35073.patch
bind99-ISC-Bugs-35080.patch
bind99-buildfix.patch
bind99-forward.patch
bind99-libidn4.patch
bind99-rh1067424.patch
bind99-rh1072379.patch
bind99-rh1098959.patch
bind99-rh640538.patch
bind99-rrl.patch
dnszone.schema
ldap2zone.1
ldap2zone.c
named-chroot-setup.service
named-chroot.service
named-sdb-chroot-setup.service
named-sdb-chroot.service
named-sdb.8
named-sdb.service
named-setup-rndc.service
named.NetworkManager
named.conf.sample
named.logrotate
named.rwtab
named.service
named.sysconfig
nslookup-norec.patch
trusted-key.key
zone2sqlite.1
zonetodb.1
generate-rndc-key.sh
setup-named-chroot.sh
README.sdb_pgsql
PGSQL BIND SDB driver The postgresql BIND SDB driver is of experimental status and should not be used for production systems. Usage: o Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named ) o Edit your named.conf to contain a database zone, eg. : zone "pgdb.net." IN { type master; database "pgsql bind pgdb localhost pguser pgpasswd"; # ^- DB name ^-Table ^-host ^-user ^-password }; o Create the database zone table The table must contain the columns "name", "rdtype", and "rdata", and is expected to contain a properly constructed zone. The program "zonetodb" creates such a table. zonetodb usage: zonetodb origin file dbname dbtable where origin : zone origin, eg "pgdb.net." file : master zone database file, eg. pgdb.net.db dbname : name of postgresql database dbtable: name of table in database Eg. to import this zone in the file 'pgdb.net.db' into the 'bind' database 'pgdb' table: --- #pgdb.net.db: $TTL 1H @ SOA localhost. root.localhost. ( 1 3H 1H 1W 1H ) NS localhost. host1 A 192.168.2.1 host2 A 192.168.2.2 host3 A 192.168.2.3 host4 A 192.168.2.4 host5 A 192.168.2.5 host6 A 192.168.2.6 host7 A 192.168.2.7 --- Issue this command as the pgsql user authorized to update the bind database: # zonetodb pgdb.net. pgdb.net.db bind pgdb will create / update the pgdb table in the 'bind' db: $ psql -dbind -c 'select * from pgdb;' name | ttl | rdtype | rdata ----------------+------+--------+----------------------------------------------------- pgdb.net | 3600 | SOA | localhost. root.localhost. 1 10800 3600 604800 3600 pgdb.net | 3600 | NS | localhost. host1.pgdb.net | 3600 | A | 192.168.2.1 host2.pgdb.net | 3600 | A | 192.168.2.2 host3.pgdb.net | 3600 | A | 192.168.2.3 host4.pgdb.net | 3600 | A | 192.168.2.4 host5.pgdb.net | 3600 | A | 192.168.2.5 host6.pgdb.net | 3600 | A | 192.168.2.6 host7.pgdb.net | 3600 | A | 192.168.2.7 (9 rows) I've tested exactly the above configuration with bind-sdb-9.3.1+ and it works OK. NOTE: If you use pgsqldb SDB, ensure the postgresql service is started before the named service . USE AT YOUR OWN RISK!