9471c7e5094bad76b30ed3dcc3609d8babc8e8ad
[cocanwiki.git] / cocanwiki.sql
1 --
2 -- PostgreSQL database dump
3 --
4
5 SET client_encoding = 'UNICODE';
6 SET check_function_bodies = false;
7
8 SET SESSION AUTHORIZATION 'postgres';
9
10 --
11 -- TOC entry 4 (OID 2200)
12 -- Name: public; Type: ACL; Schema: -; Owner: postgres
13 --
14
15 REVOKE ALL ON SCHEMA public FROM PUBLIC;
16 REVOKE ALL ON SCHEMA public FROM postgres;
17 GRANT ALL ON SCHEMA public TO PUBLIC;
18
19
20 SET SESSION AUTHORIZATION 'rich';
21
22 SET search_path = public, pg_catalog;
23
24 --
25 -- TOC entry 5 (OID 536004)
26 -- Name: pages; Type: TABLE; Schema: public; Owner: rich
27 --
28
29 CREATE TABLE pages (
30     id serial NOT NULL,
31     url text,
32     url_deleted text,
33     title text NOT NULL,
34     description text NOT NULL,
35     creation_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL,
36     last_modified_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL,
37     hostid integer NOT NULL,
38     logged_ip text,
39     redirect text,
40     css text,
41     logged_user integer
42 );
43
44
45 --
46 -- TOC entry 6 (OID 536004)
47 -- Name: pages; Type: ACL; Schema: public; Owner: rich
48 --
49
50 REVOKE ALL ON TABLE pages FROM PUBLIC;
51 GRANT ALL ON TABLE pages TO "www-data";
52
53
54 --
55 -- TOC entry 23 (OID 536004)
56 -- Name: pages_id_seq; Type: ACL; Schema: public; Owner: rich
57 --
58
59 REVOKE ALL ON TABLE pages_id_seq FROM PUBLIC;
60 GRANT ALL ON TABLE pages_id_seq TO "www-data";
61
62
63 --
64 -- TOC entry 7 (OID 536021)
65 -- Name: contents; Type: TABLE; Schema: public; Owner: rich
66 --
67
68 CREATE TABLE contents (
69     id serial NOT NULL,
70     pageid integer NOT NULL,
71     ordering integer NOT NULL,
72     sectionname text NOT NULL,
73     content text NOT NULL,
74     divname text
75 );
76
77
78 --
79 -- TOC entry 8 (OID 536021)
80 -- Name: contents; Type: ACL; Schema: public; Owner: rich
81 --
82
83 REVOKE ALL ON TABLE contents FROM PUBLIC;
84 GRANT ALL ON TABLE contents TO "www-data";
85
86
87 --
88 -- TOC entry 24 (OID 536021)
89 -- Name: contents_id_seq; Type: ACL; Schema: public; Owner: rich
90 --
91
92 REVOKE ALL ON TABLE contents_id_seq FROM PUBLIC;
93 GRANT ALL ON TABLE contents_id_seq TO "www-data";
94
95
96 --
97 -- TOC entry 9 (OID 536371)
98 -- Name: hosts; Type: TABLE; Schema: public; Owner: rich
99 --
100
101 CREATE TABLE hosts (
102     id serial NOT NULL,
103     canonical_hostname text NOT NULL,
104     css text,
105     edit_anon boolean DEFAULT true NOT NULL,
106     create_account_anon boolean DEFAULT true NOT NULL
107 );
108
109
110 --
111 -- TOC entry 10 (OID 536371)
112 -- Name: hosts; Type: ACL; Schema: public; Owner: rich
113 --
114
115 REVOKE ALL ON TABLE hosts FROM PUBLIC;
116 GRANT ALL ON TABLE hosts TO "www-data";
117
118
119 --
120 -- TOC entry 25 (OID 536371)
121 -- Name: hosts_id_seq; Type: ACL; Schema: public; Owner: rich
122 --
123
124 REVOKE ALL ON TABLE hosts_id_seq FROM PUBLIC;
125 GRANT ALL ON TABLE hosts_id_seq TO "www-data";
126
127
128 --
129 -- TOC entry 11 (OID 536379)
130 -- Name: hostnames; Type: TABLE; Schema: public; Owner: rich
131 --
132
133 CREATE TABLE hostnames (
134     hostid integer NOT NULL,
135     name text NOT NULL
136 );
137
138
139 --
140 -- TOC entry 12 (OID 536379)
141 -- Name: hostnames; Type: ACL; Schema: public; Owner: rich
142 --
143
144 REVOKE ALL ON TABLE hostnames FROM PUBLIC;
145 GRANT ALL ON TABLE hostnames TO "www-data";
146
147
148 --
149 -- TOC entry 13 (OID 536915)
150 -- Name: email_notify; Type: TABLE; Schema: public; Owner: rich
151 --
152
153 CREATE TABLE email_notify (
154     hostid integer NOT NULL,
155     email text NOT NULL,
156     name text
157 );
158
159
160 --
161 -- TOC entry 14 (OID 536915)
162 -- Name: email_notify; Type: ACL; Schema: public; Owner: rich
163 --
164
165 REVOKE ALL ON TABLE email_notify FROM PUBLIC;
166 GRANT ALL ON TABLE email_notify TO "www-data";
167
168
169 --
170 -- TOC entry 15 (OID 537151)
171 -- Name: images; Type: TABLE; Schema: public; Owner: rich
172 --
173
174 CREATE TABLE images (
175     id serial NOT NULL,
176     hostid integer NOT NULL,
177     name text,
178     name_deleted text,
179     image bytea NOT NULL,
180     width integer NOT NULL,
181     height integer NOT NULL,
182     alt text NOT NULL,
183     title text,
184     longdesc text,
185     "class" text,
186     mime_type text NOT NULL,
187     thumbnail bytea,
188     tn_width integer,
189     tn_height integer,
190     tn_mime_type text,
191     upload_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
192 );
193
194
195 --
196 -- TOC entry 16 (OID 537151)
197 -- Name: images; Type: ACL; Schema: public; Owner: rich
198 --
199
200 REVOKE ALL ON TABLE images FROM PUBLIC;
201 GRANT ALL ON TABLE images TO "www-data";
202
203
204 --
205 -- TOC entry 26 (OID 537151)
206 -- Name: images_id_seq; Type: ACL; Schema: public; Owner: rich
207 --
208
209 REVOKE ALL ON TABLE images_id_seq FROM PUBLIC;
210 GRANT ALL ON TABLE images_id_seq TO "www-data";
211
212
213 --
214 -- TOC entry 17 (OID 537166)
215 -- Name: files; Type: TABLE; Schema: public; Owner: rich
216 --
217
218 CREATE TABLE files (
219     id serial NOT NULL,
220     hostid integer NOT NULL,
221     name text,
222     name_deleted text,
223     content bytea NOT NULL,
224     title text,
225     mime_type text NOT NULL,
226     upload_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
227 );
228
229
230 --
231 -- TOC entry 18 (OID 537166)
232 -- Name: files; Type: ACL; Schema: public; Owner: rich
233 --
234
235 REVOKE ALL ON TABLE files FROM PUBLIC;
236 GRANT ALL ON TABLE files TO "www-data";
237
238
239 --
240 -- TOC entry 27 (OID 537166)
241 -- Name: files_id_seq; Type: ACL; Schema: public; Owner: rich
242 --
243
244 REVOKE ALL ON TABLE files_id_seq FROM PUBLIC;
245 GRANT ALL ON TABLE files_id_seq TO "www-data";
246
247
248 --
249 -- TOC entry 19 (OID 540816)
250 -- Name: users; Type: TABLE; Schema: public; Owner: rich
251 --
252
253 CREATE TABLE users (
254     id serial NOT NULL,
255     hostid integer NOT NULL,
256     name text NOT NULL,
257     "password" text NOT NULL,
258     email text,
259     registration_date date DEFAULT ('now'::text)::date NOT NULL,
260     can_edit boolean DEFAULT true NOT NULL,
261     can_manage_users boolean DEFAULT false NOT NULL
262 );
263
264
265 --
266 -- TOC entry 20 (OID 540816)
267 -- Name: users; Type: ACL; Schema: public; Owner: rich
268 --
269
270 REVOKE ALL ON TABLE users FROM PUBLIC;
271 GRANT ALL ON TABLE users TO "www-data";
272
273
274 --
275 -- TOC entry 28 (OID 540816)
276 -- Name: users_id_seq; Type: ACL; Schema: public; Owner: rich
277 --
278
279 REVOKE ALL ON TABLE users_id_seq FROM PUBLIC;
280 GRANT ALL ON TABLE users_id_seq TO "www-data";
281
282
283 --
284 -- TOC entry 21 (OID 540832)
285 -- Name: usercookies; Type: TABLE; Schema: public; Owner: rich
286 --
287
288 CREATE TABLE usercookies (
289     userid integer NOT NULL,
290     cookie text NOT NULL
291 );
292
293
294 --
295 -- TOC entry 22 (OID 540832)
296 -- Name: usercookies; Type: ACL; Schema: public; Owner: rich
297 --
298
299 REVOKE ALL ON TABLE usercookies FROM PUBLIC;
300 GRANT ALL ON TABLE usercookies TO "www-data";
301
302
303 --
304 -- TOC entry 33 (OID 536388)
305 -- Name: hostnames_hostid_name_uq; Type: INDEX; Schema: public; Owner: rich
306 --
307
308 CREATE UNIQUE INDEX hostnames_hostid_name_uq ON hostnames USING btree (hostid, name);
309
310
311 --
312 -- TOC entry 34 (OID 536389)
313 -- Name: hostnams_name_uq; Type: INDEX; Schema: public; Owner: rich
314 --
315
316 CREATE UNIQUE INDEX hostnams_name_uq ON hostnames USING btree (name);
317
318
319 --
320 -- TOC entry 30 (OID 536419)
321 -- Name: pages_url_uq; Type: INDEX; Schema: public; Owner: rich
322 --
323
324 CREATE UNIQUE INDEX pages_url_uq ON pages USING btree (hostid, url);
325
326
327 --
328 -- TOC entry 35 (OID 536924)
329 -- Name: email_notify_email_uq; Type: INDEX; Schema: public; Owner: rich
330 --
331
332 CREATE UNIQUE INDEX email_notify_email_uq ON email_notify USING btree (hostid, email);
333
334
335 --
336 -- TOC entry 36 (OID 540251)
337 -- Name: images_name_uq; Type: INDEX; Schema: public; Owner: rich
338 --
339
340 CREATE UNIQUE INDEX images_name_uq ON images USING btree (hostid, name);
341
342
343 --
344 -- TOC entry 38 (OID 540252)
345 -- Name: files_name_uq; Type: INDEX; Schema: public; Owner: rich
346 --
347
348 CREATE UNIQUE INDEX files_name_uq ON files USING btree (hostid, name);
349
350
351 --
352 -- TOC entry 41 (OID 540831)
353 -- Name: users_name_uq; Type: INDEX; Schema: public; Owner: rich
354 --
355
356 CREATE UNIQUE INDEX users_name_uq ON users USING btree (hostid, name);
357
358
359 --
360 -- TOC entry 40 (OID 540946)
361 -- Name: users_id_uq; Type: INDEX; Schema: public; Owner: rich
362 --
363
364 CREATE UNIQUE INDEX users_id_uq ON users USING btree (hostid, id);
365
366
367 --
368 -- TOC entry 29 (OID 536012)
369 -- Name: pages_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
370 --
371
372 ALTER TABLE ONLY pages
373     ADD CONSTRAINT pages_pkey PRIMARY KEY (id);
374
375
376 --
377 -- TOC entry 31 (OID 536027)
378 -- Name: contents_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
379 --
380
381 ALTER TABLE ONLY contents
382     ADD CONSTRAINT contents_pkey PRIMARY KEY (id);
383
384
385 --
386 -- TOC entry 32 (OID 536377)
387 -- Name: hosts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
388 --
389
390 ALTER TABLE ONLY hosts
391     ADD CONSTRAINT hosts_pkey PRIMARY KEY (id);
392
393
394 --
395 -- TOC entry 37 (OID 537158)
396 -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
397 --
398
399 ALTER TABLE ONLY images
400     ADD CONSTRAINT images_pkey PRIMARY KEY (id);
401
402
403 --
404 -- TOC entry 39 (OID 537173)
405 -- Name: files_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
406 --
407
408 ALTER TABLE ONLY files
409     ADD CONSTRAINT files_pkey PRIMARY KEY (id);
410
411
412 --
413 -- TOC entry 42 (OID 540825)
414 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
415 --
416
417 ALTER TABLE ONLY users
418     ADD CONSTRAINT users_pkey PRIMARY KEY (id);
419
420
421 --
422 -- TOC entry 47 (OID 536029)
423 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
424 --
425
426 ALTER TABLE ONLY contents
427     ADD CONSTRAINT "$1" FOREIGN KEY (pageid) REFERENCES pages(id);
428
429
430 --
431 -- TOC entry 49 (OID 536384)
432 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
433 --
434
435 ALTER TABLE ONLY hostnames
436     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
437
438
439 --
440 -- TOC entry 48 (OID 536394)
441 -- Name: hosts_hostname_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
442 --
443
444 ALTER TABLE ONLY hosts
445     ADD CONSTRAINT hosts_hostname_cn FOREIGN KEY (id, canonical_hostname) REFERENCES hostnames(hostid, name) DEFERRABLE;
446
447
448 --
449 -- TOC entry 43 (OID 536404)
450 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
451 --
452
453 ALTER TABLE ONLY pages
454     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
455
456
457 --
458 -- TOC entry 50 (OID 536920)
459 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
460 --
461
462 ALTER TABLE ONLY email_notify
463     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
464
465
466 --
467 -- TOC entry 51 (OID 537160)
468 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
469 --
470
471 ALTER TABLE ONLY images
472     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
473
474
475 --
476 -- TOC entry 52 (OID 537175)
477 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
478 --
479
480 ALTER TABLE ONLY files
481     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
482
483
484 --
485 -- TOC entry 44 (OID 539155)
486 -- Name: pages_redirect_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
487 --
488
489 ALTER TABLE ONLY pages
490     ADD CONSTRAINT pages_redirect_cn FOREIGN KEY (hostid, redirect) REFERENCES pages(hostid, url) DEFERRABLE;
491
492
493 --
494 -- TOC entry 53 (OID 540827)
495 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
496 --
497
498 ALTER TABLE ONLY users
499     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
500
501
502 --
503 -- TOC entry 54 (OID 540837)
504 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
505 --
506
507 ALTER TABLE ONLY usercookies
508     ADD CONSTRAINT "$1" FOREIGN KEY (userid) REFERENCES users(id);
509
510
511 --
512 -- TOC entry 45 (OID 540942)
513 -- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: rich
514 --
515
516 ALTER TABLE ONLY pages
517     ADD CONSTRAINT "$2" FOREIGN KEY (logged_user) REFERENCES users(id);
518
519
520 --
521 -- TOC entry 46 (OID 540947)
522 -- Name: pages_user_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
523 --
524
525 ALTER TABLE ONLY pages
526     ADD CONSTRAINT pages_user_cn FOREIGN KEY (hostid, logged_user) REFERENCES users(hostid, id);
527
528
529 SET SESSION AUTHORIZATION 'postgres';
530
531 --
532 -- TOC entry 3 (OID 2200)
533 -- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
534 --
535
536 COMMENT ON SCHEMA public IS 'Standard public namespace';
537
538