CREATE TABLE area (
areaaddr INT8 DEFAULT 0 NOT NULL,
descrip VARCHAR(80) NOT NULL,
areaindex SERIAL,
customer INT4 DEFAULT 0 NOT NULL,
PRIMARY KEY (areaindex)
);
CREATE UNIQUE INDEX area_customer ON area (customer, descrip);
CREATE UNIQUE INDEX area_areaaddr ON area (areaaddr, customer);
CREATE TABLE auditlog (
userid VARCHAR(40),
action VARCHAR(254) NOT NULL,
dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE INDEX auditlog_dt ON auditlog (dt);
CREATE TABLE base (
baseaddr INT8 DEFAULT 0 NOT NULL,
subnetsize INT8 DEFAULT 0 NOT NULL,
descrip VARCHAR(80) NOT NULL,
baseindex SERIAL,
admingrp VARCHAR(40) NOT NULL,
customer INT4 DEFAULT 0 NOT NULL,
lastmod TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
userid VARCHAR(40),
baseopt INT8 DEFAULT 0,
swipmod TIMESTAMP,
PRIMARY KEY (baseindex)
);
CREATE UNIQUE INDEX base_baseaddr ON base (baseaddr, customer);
CREATE INDEX base_customer ON base (customer);
CREATE INDEX base_admingrp ON base (admingrp);
CREATE TABLE baseadd (
baseindex INT8 DEFAULT 0 NOT NULL,
info TEXT,
infobin BYTEA,
infobinfn VARCHAR(255),
PRIMARY KEY (baseindex)
);
CREATE TABLE custinfo (
customer INT4 DEFAULT 0 NOT NULL,
org VARCHAR(100),
street VARCHAR(255),
city VARCHAR(80),
state VARCHAR(2),
zipcode VARCHAR(10),
cntry VARCHAR(2),
maint VARCHAR(80),
nichandl VARCHAR(80),
lname VARCHAR(80),
fname VARCHAR(80),
mname VARCHAR(80),
torg VARCHAR(100),
tstreet VARCHAR(255),
tcity VARCHAR(80),
tstate VARCHAR(2),
tzipcode VARCHAR(10),
tcntry VARCHAR(2),
phne VARCHAR(20),
mbox VARCHAR(100),
PRIMARY KEY (customer)
);
CREATE TABLE custadd (
customer INT4 DEFAULT 0 NOT NULL,
info TEXT,
infobinfn VARCHAR(255),
PRIMARY KEY (customer)
);
CREATE TABLE customer (
custdescrip VARCHAR(80) NOT NULL,
customer SERIAL,
crm VARCHAR(20),
admingrp VARCHAR(40) NOT NULL,
PRIMARY KEY (customer)
);
CREATE UNIQUE INDEX customer_custdescrip ON customer (custdescrip);
CREATE INDEX customer_crm ON customer (crm);
CREATE INDEX customer_admingrp ON customer (admingrp);
CREATE TABLE grp (
grpdescrip VARCHAR(80) NOT NULL,
grp VARCHAR(40) NOT NULL,
createcust VARCHAR(1) DEFAULT 'N' NOT NULL,
resaddr INT4 DEFAULT 0,
grpopt INT8 DEFAULT 0 NOT NULL,
PRIMARY KEY (grp)
);
CREATE UNIQUE INDEX grp_grpdescrip ON grp (grpdescrip);
CREATE TABLE ipaddr (
ipaddr INT8 DEFAULT 0 NOT NULL,
userinf VARCHAR(80),
location VARCHAR(80),
telno VARCHAR(15),
descrip VARCHAR(80),
hname VARCHAR(100),
macaddr VARCHAR(12),
baseindex INT8 DEFAULT 0 NOT NULL,
lastmod TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
lastpol TIMESTAMP,
userid VARCHAR(40),
PRIMARY KEY (ipaddr, baseindex)
);
CREATE INDEX ipaddr_baseindex ON ipaddr (baseindex);
CREATE TABLE ipaddradd (
ipaddr INT8 DEFAULT 0 NOT NULL,
baseindex INT8 DEFAULT 0 NOT NULL,
info TEXT,
infobin BYTEA,
infobinfn VARCHAR(255),
PRIMARY KEY (ipaddr, baseindex)
);
CREATE INDEX ipaddradd_baseindex ON ipaddradd (baseindex);
CREATE TABLE ipaddrlnk (
ipaddr INT8 DEFAULT 0 NOT NULL,
baseindex INT8 DEFAULT 0 NOT NULL,
customer INT4 DEFAULT 0 NOT NULL,
dstipaddr INT8 DEFAULT 0 NOT NULL,
dstcustomer INT4 DEFAULT 0 NOT NULL
);
CREATE UNIQUE INDEX ipaddrlnk_uniq ON ipaddrlnk (baseindex, ipaddr, customer, dstipaddr, dstcustomer);
CREATE INDEX ipaddrlnk_dst ON ipaddrlnk (dstipaddr, dstcustomer);
CREATE INDEX ipaddrlnk_src ON ipaddrlnk (ipaddr, customer);
CREATE TABLE requestip (
requestindex SERIAL,
customer INT4 DEFAULT 0 NOT NULL,
requestdesc VARCHAR(80),
userinf VARCHAR(80),
location VARCHAR(80),
telno VARCHAR(15),
descrip VARCHAR(80),
hname VARCHAR(100),
macaddr VARCHAR(12),
lastmod TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
info TEXT,
PRIMARY KEY (requestindex)
);
CREATE UNIQUE INDEX requestip_desc ON requestip (customer, requestdesc);
CREATE TABLE netrange (
rangeaddr INT8 DEFAULT 0 NOT NULL,
rangesize INT8 DEFAULT 0 NOT NULL,
descrip VARCHAR(80) NOT NULL,
rangeindex SERIAL,
areaindex INT8 DEFAULT 0 NOT NULL,
customer INT4 DEFAULT 0 NOT NULL,
PRIMARY KEY (rangeindex)
);
CREATE INDEX range_rangeaddr ON netrange (rangeaddr, customer);
CREATE UNIQUE INDEX range_customer ON netrange (customer, descrip);
CREATE INDEX range_areaindex ON netrange (areaindex);
CREATE TABLE revdns (
customer INT4 DEFAULT 0 NOT NULL,
hname VARCHAR(100) NOT NULL,
ipaddr VARCHAR(15) NOT NULL,
horder SMALLINT DEFAULT 0 NOT NULL
);
CREATE INDEX revdns_customer ON revdns (customer);
CREATE TABLE schema (
version INT4 DEFAULT 0 NOT NULL
);
CREATE TABLE users (
userid VARCHAR(40) NOT NULL,
userdescrip VARCHAR(80) NOT NULL,
useremail VARCHAR(64),
password VARCHAR(40) NOT NULL,
PRIMARY KEY (userid)
);
CREATE TABLE usergrp (
userid VARCHAR(40) NOT NULL,
grp VARCHAR(40) NOT NULL
);
CREATE UNIQUE INDEX usergrp_userid ON usergrp (userid, grp);
CREATE INDEX usergrp_grp ON usergrp (grp);
CREATE TABLE bounds (
boundsaddr INT8 DEFAULT 0 NOT NULL,
boundssize INT8 DEFAULT 0 NOT NULL,
grp VARCHAR(40) NOT NULL
);
CREATE INDEX bounds_grp ON bounds (grp);
CREATE INDEX bounds_boundsaddr ON bounds (boundsaddr);
CREATE TABLE fwdzone (
data_id SERIAL,
domain VARCHAR(254) NOT NULL,
createmod DATE,
lastmod TIMESTAMP,
regmod DATE,
expiremod TIMESTAMP,
engineer VARCHAR(254),
error_message VARCHAR(254),
responsiblemail VARCHAR(64),
serialdate VARCHAR(8) NOT NULL,
serialnum INT4 DEFAULT 0,
ttl INT4 DEFAULT 0,
refresh INT4 DEFAULT 0,
retry INT4 DEFAULT 0,
expire INT4 DEFAULT 0,
minimum INT4 DEFAULT 0,
userid VARCHAR(40),
lastexp TIMESTAMP,
slaveonly VARCHAR(1) DEFAULT 'N' NOT NULL,
zonefilepath1 VARCHAR(254),
zonefilepath2 VARCHAR(254),
customer INT4 DEFAULT 0 NOT NULL,
admingrp VARCHAR(40),
PRIMARY KEY (data_id)
);
CREATE INDEX fwdzone_customer ON fwdzone (customer);
CREATE INDEX fwdzone_domain ON fwdzone (domain);
CREATE TABLE fwdzoneadd (
customer INT4 DEFAULT 0 NOT NULL,
data_id INT8 DEFAULT 0 NOT NULL,
info TEXT,
infobinfn VARCHAR(255)
);
CREATE UNIQUE INDEX fwdzoneadd_customer ON fwdzoneadd (customer, data_id);
CREATE TABLE fwdzonerec (
recidx SERIAL,
data_id INT8 DEFAULT 0 NOT NULL,
lastmod TIMESTAMP,
host VARCHAR(254) NOT NULL,
recordtype VARCHAR(5) NOT NULL,
ip_hostname VARCHAR(254) NOT NULL,
error_message VARCHAR(254),
sortorder INT4 DEFAULT 0 NOT NULL,
userid VARCHAR(40) NOT NULL,
customer INT4 DEFAULT 0 NOT NULL,
PRIMARY KEY (recidx)
);
CREATE INDEX fwdzonerec_data_id ON fwdzonerec (data_id);
CREATE INDEX fwdzonerec_sortorder ON fwdzonerec (sortorder);
CREATE INDEX fwdzonerec_customer ON fwdzonerec (customer);
CREATE TABLE fwddns (
id INT8 DEFAULT 0 NOT NULL,
hname VARCHAR(100) NOT NULL,
horder SMALLINT DEFAULT 0 NOT NULL
);
CREATE INDEX fwddns_id ON fwddns (id);
CREATE TABLE zones (
id SERIAL,
zoneip INT8 DEFAULT 0 NOT NULL,
zonesize INT8 DEFAULT 0 NOT NULL,
zone VARCHAR(254) NOT NULL,
error_message VARCHAR(254),
lastmod TIMESTAMP,
serialdate VARCHAR(8) NOT NULL,
serialnum INT4 DEFAULT 0,
ttl INT4 DEFAULT 0,
refresh INT4 DEFAULT 0,
retry INT4 DEFAULT 0,
expire INT4 DEFAULT 0,
minimum INT4 DEFAULT 0,
userid VARCHAR(40),
lastexp TIMESTAMP,
slaveonly VARCHAR(1) DEFAULT 'N' NOT NULL,
zonefilepath1 VARCHAR(254),
zonefilepath2 VARCHAR(254),
responsiblemail VARCHAR(64),
customer INT4 DEFAULT 0 NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX zones_customer ON zones (customer);
CREATE INDEX zones_zoneip ON zones (zoneip);
CREATE TABLE zonedns (
id INT8 DEFAULT 0 NOT NULL,
hname VARCHAR(100) NOT NULL,
horder SMALLINT DEFAULT 0 NOT NULL
);
CREATE INDEX zonedns_id ON zonedns (id);
BEGIN;
INSERT INTO schema (version) VALUES (22);
COMMIT;