]> git.donarmstrong.com Git - roundcube.git/blob - SQL/postgres.initial.sql
Imported Upstream version 0.1~rc1~dfsg
[roundcube.git] / SQL / postgres.initial.sql
1 --
2 -- Sequence "user_ids"
3 -- Name: user_ids; Type: SEQUENCE; Schema: public; Owner: postgres
4 --
5
6 CREATE SEQUENCE user_ids
7     INCREMENT BY 1
8     NO MAXVALUE
9     NO MINVALUE
10     CACHE 1;
11
12 --
13 -- Table "users"
14 -- Name: users; Type: TABLE; Schema: public; Owner: postgres
15 --
16
17 CREATE TABLE users (
18     user_id integer DEFAULT nextval('user_ids'::text) PRIMARY KEY,
19     username character varying(128) DEFAULT ''::character varying NOT NULL,
20     mail_host character varying(128) DEFAULT ''::character varying NOT NULL,
21     alias character varying(128) DEFAULT ''::character varying NOT NULL,
22     created timestamp with time zone DEFAULT now() NOT NULL,
23     last_login timestamp with time zone DEFAULT now() NOT NULL,
24     "language" character varying(5) DEFAULT 'en'::character varying NOT NULL,
25     preferences text DEFAULT ''::text NOT NULL
26 );
27
28
29   
30 --
31 -- Table "session"
32 -- Name: session; Type: TABLE; Schema: public; Owner: postgres
33 --
34
35 CREATE TABLE "session" (
36     sess_id character varying(40) DEFAULT ''::character varying PRIMARY KEY,
37     created timestamp with time zone DEFAULT now() NOT NULL,
38     changed timestamp with time zone DEFAULT now() NOT NULL,
39     ip character varying(16) NOT NULL,
40     vars text NOT NULL
41 );
42
43
44
45 --
46 -- Sequence "identity_ids"
47 -- Name: identity_ids; Type: SEQUENCE; Schema: public; Owner: postgres
48 --
49
50 CREATE SEQUENCE identity_ids
51     START WITH 1
52     INCREMENT BY 1
53     NO MAXVALUE
54     NO MINVALUE
55     CACHE 1;
56
57 --
58 -- Table "identities"
59 -- Name: identities; Type: TABLE; Schema: public; Owner: postgres
60 --
61
62 CREATE TABLE identities (
63     identity_id integer DEFAULT nextval('identity_ids'::text) PRIMARY KEY,
64     user_id integer NOT NULL REFERENCES users (user_id),
65     del integer DEFAULT 0 NOT NULL,
66     standard integer DEFAULT 0 NOT NULL,
67     name character varying(128) NOT NULL,
68     organization character varying(128),
69     email character varying(128) NOT NULL,
70     "reply-to" character varying(128),
71     bcc character varying(128),
72     signature text,
73     html_signature integer DEFAULT 0 NOT NULL
74 );
75
76
77
78 --
79 -- Sequence "contact_ids"
80 -- Name: contact_ids; Type: SEQUENCE; Schema: public; Owner: postgres
81 --
82
83 CREATE SEQUENCE contact_ids
84     START WITH 1
85     INCREMENT BY 1
86     NO MAXVALUE
87     NO MINVALUE
88     CACHE 1;
89
90 --
91 -- Table "contacts"
92 -- Name: contacts; Type: TABLE; Schema: public; Owner: postgres
93 --
94
95 CREATE TABLE contacts (
96     contact_id integer DEFAULT nextval('contact_ids'::text) PRIMARY KEY,
97     user_id integer NOT NULL REFERENCES users (user_id),
98     changed timestamp with time zone DEFAULT now() NOT NULL,
99     del integer DEFAULT 0 NOT NULL,
100     name character varying(128) DEFAULT ''::character varying NOT NULL,
101     email character varying(128) DEFAULT ''::character varying NOT NULL,
102     firstname character varying(128) DEFAULT ''::character varying NOT NULL,
103     surname character varying(128) DEFAULT ''::character varying NOT NULL,
104     vcard text
105 );
106
107
108
109 --
110 -- Sequence "cache_ids"
111 -- Name: cache_ids; Type: SEQUENCE; Schema: public; Owner: postgres
112 --
113
114 CREATE SEQUENCE cache_ids
115     INCREMENT BY 1
116     NO MAXVALUE
117     NO MINVALUE
118     CACHE 1;
119
120 --
121 -- Table "cache"
122 -- Name: cache; Type: TABLE; Schema: public; Owner: postgres
123 --
124
125 CREATE TABLE "cache" (
126     cache_id integer DEFAULT nextval('cache_ids'::text) PRIMARY KEY,
127     user_id integer NOT NULL REFERENCES users (user_id),
128     session_id character varying(40) REFERENCES "session" (sess_id),
129     cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
130     created timestamp with time zone DEFAULT now() NOT NULL,
131     data text NOT NULL
132 );
133
134
135
136 --
137 -- Sequence "message_ids"
138 -- Name: message_ids; Type: SEQUENCE; Schema: public; Owner: postgres
139 --
140
141 CREATE SEQUENCE message_ids
142     INCREMENT BY 1
143     NO MAXVALUE
144     NO MINVALUE
145     CACHE 1;
146
147 --
148 -- Table "messages"
149 -- Name: messages; Type: TABLE; Schema: public; Owner: postgres
150 --
151
152 CREATE TABLE "messages" (
153     message_id integer DEFAULT nextval('message_ids'::text) PRIMARY KEY,
154     user_id integer NOT NULL REFERENCES users (user_id),
155     del integer DEFAULT 0 NOT NULL,
156     cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
157     created timestamp with time zone DEFAULT now() NOT NULL,
158     idx integer DEFAULT 0 NOT NULL,
159     uid integer DEFAULT 0 NOT NULL,
160     subject character varying(128) DEFAULT ''::character varying NOT NULL,
161     "from" character varying(128) DEFAULT ''::character varying NOT NULL,
162     "to" character varying(128) DEFAULT ''::character varying NOT NULL,
163     cc character varying(128) DEFAULT ''::character varying NOT NULL,
164     date timestamp with time zone NOT NULL,
165     size integer DEFAULT 0 NOT NULL,
166     headers text NOT NULL,
167     structure text
168 );
169
170 ALTER TABLE "messages" ADD UNIQUE (user_id, cache_key, uid);