From: Matthew Mondor Date: Tue, 13 Mar 2007 21:14:41 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.pulsar-zone.net/?a=commitdiff_plain;h=7c997aa25923bdea7d9302922c1a34f57ced1939;p=mmondor.git *** empty log message *** --- diff --git a/mmsoftware/mmmail/scripts/pgsql-tables.sql b/mmsoftware/mmmail/scripts/pgsql-tables.sql new file mode 100644 index 0000000..9dda4a3 --- /dev/null +++ b/mmsoftware/mmmail/scripts/pgsql-tables.sql @@ -0,0 +1,123 @@ +CREATE TABLE "alias" ( + domain varchar(64) NOT NULL, + pattern varchar(64) NOT NULL, + box varchar(64) NOT NULL + REFERENCES box (address) + ON DELETE CASCADE, + created timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (domain, pattern, box), +); + +CREATE TABLE "box" ( + address varchar(64) NOT NULL, +--- Cannot CASCADE as we have per-box files to cleanup + user varchar(32) NOT NULL + REFERENCES user (id) + ON DELETE RESTRICT, + max_size bigint NOT NULL, + size bigint NOT NULL + DEFAULT 0, + max_msgs bigint NOT NULL, + msgs bigint NOT NULL + DEFAULT 0, + created timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + in timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + out timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + filter boolean NOT NULL + DEFAULT 'f', + description varchar(64), + PRIMARY KEY (address) +); + +CREATE TABLE "filter" ( + address varchar(64) NOT NULL + REFERENCES box (address) + ON DELETE CASCADE, + pattern varchar(128) NOT NULL, + created timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + description varchar(64), + PRIMARY KEY (address, pattern) +); + +CREATE TABLE "mail" ( + id bigserial NOT NULL, + box varchar(64) NOT NULL + REFERENCES box (address) + ON DELETE CASCADE, + file varchar(255) NOT NULL, + created timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + size bigint NOT NULL, +# data bytea NOT NULL, + PRIMARY KEY (id), +); +CREATE INDEX mail_box_index ON mail (box); + +CREATE TABLE "nofrom" ( + pattern varchar(64) NOT NULL, + PRIMARY KEY (pattern) +); + +CREATE TABLE "user" ( + id varchar(32) NOT NULL, + name varchar(64) NOT NULL, + passwd char(34) NOT NULL, + created timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + activity timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + logins bigint NOT NULL + DEFAULT 0, + active boolean NOT NULL + DEFAULT 't', + admin boolean NOT NULL + DEFAULT 'f', + PRIMARY KEY (id) +); + +CREATE TABLE "relayqyeye" ( + id bigserial NOT NULL, + from varchar(64) NOT NULL, + ipaddr inet NOT NULL, + todomain varchar(64) NOT NULL, + touser varchar(64) NOT NULL, + size bigint NOT NULL, + file varchar(255) NOT NULL, + queued timestamp NOT NULL + DEFAULT CURRENT_TIMESTAMP, + lasttry timestamp, + expire timestamp NOT NULL, + tries bigint NOT NULL + DEFAULT 0, + lasterror int NOT NULL + DEFAULT 0, + PRIMARY KEY (id) +); +CREATE INDEX relayqueue_todomain_index ON relayqueue (todomain); + +CREATE TABLE "relaylocal" ( + pattern varchar(64) NOT NULL, + PRIMARY KEY (pattern) +); + +CREATE TABLE "relayfrom" ( + pattern varchar(64) NOT NULL, + PRIMARY KEY (pattern) +); + +CREATE TABLE "session" ( + id char(64) NOT NULL, + expires bigint NOT NULL, + data text NOT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE "boxdelete" ( + address varchar(64) NOT NULL, + PRIMARY KEY (address) +);