*** empty log message ***
authorMatthew Mondor <mmondor@pulsar-zone.net>
Tue, 13 Mar 2007 21:14:41 +0000 (21:14 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Tue, 13 Mar 2007 21:14:41 +0000 (21:14 +0000)
mmsoftware/mmmail/scripts/pgsql-tables.sql [new file with mode: 0644]

diff --git a/mmsoftware/mmmail/scripts/pgsql-tables.sql b/mmsoftware/mmmail/scripts/pgsql-tables.sql
new file mode 100644 (file)
index 0000000..9dda4a3
--- /dev/null
@@ -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)
+);