jvdias 2093a53
			PGSQL BIND SDB driver
jvdias 2093a53
jvdias 2093a53
The postgresql BIND SDB driver is of experimental status and should not be 
jvdias 2093a53
used for production systems.
jvdias 2093a53
jvdias 2093a53
Usage:
jvdias 2093a53
jvdias 2093a53
o Use the named_sdb process ( put ENABLE_SDB=yes in /etc/sysconfig/named )
jvdias 2093a53
jvdias 2093a53
o Edit your named.conf to contain a database zone, eg. :
jvdias 2093a53
  
jvdias 2093a53
zone "pgdb.net." IN {
jvdias 2093a53
        type master;
jvdias 2093a53
        database "pgsql  bind        pgdb     localhost pguser pgpasswd";
jvdias 2093a53
        #                ^- DB name  ^-Table  ^-host    ^-user ^-password
jvdias 2093a53
};
jvdias 2093a53
jvdias 2093a53
o Create the database zone table
jvdias 2093a53
  The table must contain the columns "name", "rdtype", and "rdata", and
jvdias 2093a53
  is expected to contain a properly constructed zone.  The program "zonetodb"
jvdias 2093a53
  creates such a table.
jvdias 2093a53
  
jvdias 2093a53
  zonetodb usage:
jvdias 2093a53
    
jvdias 2093a53
    zonetodb origin file dbname dbtable
jvdias 2093a53
jvdias 2093a53
    where
jvdias 2093a53
	origin : zone origin, eg "pgdb.net."
jvdias 2093a53
	file   : master zone database file, eg. pgdb.net.db
jvdias 2093a53
	dbname : name of postgresql database 
jvdias 2093a53
        dbtable: name of table in database
jvdias 2093a53
jvdias 2093a53
    Eg. to import this zone in the file 'pgdb.net.db' into the 'bind' database 
jvdias 2093a53
        'pgdb' table:
jvdias 2093a53
jvdias 2093a53
---
jvdias 2093a53
#pgdb.net.db:
jvdias 2093a53
$TTL 1H
jvdias 2093a53
@       SOA     localhost.      root.localhost. (       1
jvdias 2093a53
                                                3H
jvdias 2093a53
                                                1H
jvdias 2093a53
                                                1W
jvdias 2093a53
                                                1H )
jvdias 2093a53
        NS      localhost.
jvdias 2093a53
host1   A       192.168.2.1
jvdias 2093a53
host2   A       192.168.2.2
jvdias 2093a53
host3   A       192.168.2.3
jvdias 2093a53
host4   A       192.168.2.4
jvdias 2093a53
host5   A       192.168.2.5
jvdias 2093a53
host6   A       192.168.2.6
jvdias 2093a53
host7   A       192.168.2.7
jvdias 2093a53
---
jvdias 2093a53
jvdias 2093a53
Issue this command as the pgsql user authorized to update the bind database:
jvdias 2093a53
 
jvdias 2093a53
# zonetodb pgdb.net. pgdb.net.db bind pgdb
jvdias 2093a53
jvdias 2093a53
will create / update the pgdb table in the 'bind' db:
jvdias 2093a53
jvdias 2093a53
$ psql -dbind -c 'select * from pgdb;'
jvdias 2093a53
      name      | ttl  | rdtype |                        rdata
jvdias 2093a53
----------------+------+--------+-----------------------------------------------------
jvdias 2093a53
 pgdb.net       | 3600 | SOA    | localhost. root.localhost. 1 10800 3600 604800 3600
jvdias 2093a53
 pgdb.net       | 3600 | NS     | localhost.
jvdias 2093a53
 host1.pgdb.net | 3600 | A      | 192.168.2.1
jvdias 2093a53
 host2.pgdb.net | 3600 | A      | 192.168.2.2
jvdias 2093a53
 host3.pgdb.net | 3600 | A      | 192.168.2.3
jvdias 2093a53
 host4.pgdb.net | 3600 | A      | 192.168.2.4
jvdias 2093a53
 host5.pgdb.net | 3600 | A      | 192.168.2.5
jvdias 2093a53
 host6.pgdb.net | 3600 | A      | 192.168.2.6
jvdias 2093a53
 host7.pgdb.net | 3600 | A      | 192.168.2.7
jvdias 2093a53
(9 rows)
jvdias 2093a53
jvdias 2093a53
I've tested exactly the above configuration with bind-sdb-9.3.1+ and it works OK.
jvdias 2093a53
jvdias 2093a53
NOTE: If you use pgsqldb SDB, ensure the postgresql service is started before the named
jvdias 2093a53
      service .
jvdias 2093a53
jvdias 2093a53
USE AT YOUR OWN RISK!