Allow empty <h2> first.
[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 SET SESSION AUTHORIZATION 'rich';
55
56 --
57 -- TOC entry 29 (OID 536004)
58 -- Name: pages_id_seq; Type: ACL; Schema: public; Owner: rich
59 --
60
61 REVOKE ALL ON TABLE pages_id_seq FROM PUBLIC;
62 GRANT ALL ON TABLE pages_id_seq TO "www-data";
63
64
65 SET SESSION AUTHORIZATION 'rich';
66
67 --
68 -- TOC entry 7 (OID 536021)
69 -- Name: contents; Type: TABLE; Schema: public; Owner: rich
70 --
71
72 CREATE TABLE contents (
73     id serial NOT NULL,
74     pageid integer NOT NULL,
75     ordering integer NOT NULL,
76     sectionname text,
77     content text NOT NULL,
78     divname text
79 );
80
81
82 --
83 -- TOC entry 8 (OID 536021)
84 -- Name: contents; Type: ACL; Schema: public; Owner: rich
85 --
86
87 REVOKE ALL ON TABLE contents FROM PUBLIC;
88 GRANT ALL ON TABLE contents TO "www-data";
89
90
91 SET SESSION AUTHORIZATION 'rich';
92
93 --
94 -- TOC entry 30 (OID 536021)
95 -- Name: contents_id_seq; Type: ACL; Schema: public; Owner: rich
96 --
97
98 REVOKE ALL ON TABLE contents_id_seq FROM PUBLIC;
99 GRANT ALL ON TABLE contents_id_seq TO "www-data";
100
101
102 SET SESSION AUTHORIZATION 'rich';
103
104 --
105 -- TOC entry 9 (OID 536371)
106 -- Name: hosts; Type: TABLE; Schema: public; Owner: rich
107 --
108
109 CREATE TABLE hosts (
110     id serial NOT NULL,
111     canonical_hostname text NOT NULL,
112     css text,
113     edit_anon boolean DEFAULT true NOT NULL,
114     create_account_anon boolean DEFAULT true NOT NULL,
115     theme_css text
116 );
117
118
119 --
120 -- TOC entry 10 (OID 536371)
121 -- Name: hosts; Type: ACL; Schema: public; Owner: rich
122 --
123
124 REVOKE ALL ON TABLE hosts FROM PUBLIC;
125 GRANT ALL ON TABLE hosts TO "www-data";
126
127
128 SET SESSION AUTHORIZATION 'rich';
129
130 --
131 -- TOC entry 31 (OID 536371)
132 -- Name: hosts_id_seq; Type: ACL; Schema: public; Owner: rich
133 --
134
135 REVOKE ALL ON TABLE hosts_id_seq FROM PUBLIC;
136 GRANT ALL ON TABLE hosts_id_seq TO "www-data";
137
138
139 SET SESSION AUTHORIZATION 'rich';
140
141 --
142 -- TOC entry 11 (OID 536379)
143 -- Name: hostnames; Type: TABLE; Schema: public; Owner: rich
144 --
145
146 CREATE TABLE hostnames (
147     hostid integer NOT NULL,
148     name text NOT NULL
149 );
150
151
152 --
153 -- TOC entry 12 (OID 536379)
154 -- Name: hostnames; Type: ACL; Schema: public; Owner: rich
155 --
156
157 REVOKE ALL ON TABLE hostnames FROM PUBLIC;
158 GRANT ALL ON TABLE hostnames TO "www-data";
159
160
161 SET SESSION AUTHORIZATION 'rich';
162
163 --
164 -- TOC entry 13 (OID 536915)
165 -- Name: email_notify; Type: TABLE; Schema: public; Owner: rich
166 --
167
168 CREATE TABLE email_notify (
169     hostid integer NOT NULL,
170     email text NOT NULL,
171     name text
172 );
173
174
175 --
176 -- TOC entry 14 (OID 536915)
177 -- Name: email_notify; Type: ACL; Schema: public; Owner: rich
178 --
179
180 REVOKE ALL ON TABLE email_notify FROM PUBLIC;
181 GRANT ALL ON TABLE email_notify TO "www-data";
182
183
184 SET SESSION AUTHORIZATION 'rich';
185
186 --
187 -- TOC entry 15 (OID 537151)
188 -- Name: images; Type: TABLE; Schema: public; Owner: rich
189 --
190
191 CREATE TABLE images (
192     id serial NOT NULL,
193     hostid integer NOT NULL,
194     name text,
195     name_deleted text,
196     image bytea NOT NULL,
197     width integer NOT NULL,
198     height integer NOT NULL,
199     alt text NOT NULL,
200     title text,
201     longdesc text,
202     "class" text,
203     mime_type text NOT NULL,
204     thumbnail bytea,
205     tn_width integer,
206     tn_height integer,
207     tn_mime_type text,
208     upload_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
209 );
210
211
212 --
213 -- TOC entry 16 (OID 537151)
214 -- Name: images; Type: ACL; Schema: public; Owner: rich
215 --
216
217 REVOKE ALL ON TABLE images FROM PUBLIC;
218 GRANT ALL ON TABLE images TO "www-data";
219
220
221 SET SESSION AUTHORIZATION 'rich';
222
223 --
224 -- TOC entry 32 (OID 537151)
225 -- Name: images_id_seq; Type: ACL; Schema: public; Owner: rich
226 --
227
228 REVOKE ALL ON TABLE images_id_seq FROM PUBLIC;
229 GRANT ALL ON TABLE images_id_seq TO "www-data";
230
231
232 SET SESSION AUTHORIZATION 'rich';
233
234 --
235 -- TOC entry 17 (OID 537166)
236 -- Name: files; Type: TABLE; Schema: public; Owner: rich
237 --
238
239 CREATE TABLE files (
240     id serial NOT NULL,
241     hostid integer NOT NULL,
242     name text,
243     name_deleted text,
244     content bytea NOT NULL,
245     title text,
246     mime_type text NOT NULL,
247     upload_date timestamp without time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
248 );
249
250
251 --
252 -- TOC entry 18 (OID 537166)
253 -- Name: files; Type: ACL; Schema: public; Owner: rich
254 --
255
256 REVOKE ALL ON TABLE files FROM PUBLIC;
257 GRANT ALL ON TABLE files TO "www-data";
258
259
260 SET SESSION AUTHORIZATION 'rich';
261
262 --
263 -- TOC entry 33 (OID 537166)
264 -- Name: files_id_seq; Type: ACL; Schema: public; Owner: rich
265 --
266
267 REVOKE ALL ON TABLE files_id_seq FROM PUBLIC;
268 GRANT ALL ON TABLE files_id_seq TO "www-data";
269
270
271 SET SESSION AUTHORIZATION 'rich';
272
273 --
274 -- TOC entry 19 (OID 540816)
275 -- Name: users; Type: TABLE; Schema: public; Owner: rich
276 --
277
278 CREATE TABLE users (
279     id serial NOT NULL,
280     hostid integer NOT NULL,
281     name text NOT NULL,
282     "password" text NOT NULL,
283     email text,
284     registration_date date DEFAULT ('now'::text)::date NOT NULL,
285     can_edit boolean DEFAULT true NOT NULL,
286     can_manage_users boolean DEFAULT false NOT NULL,
287     can_manage_contacts boolean DEFAULT false NOT NULL
288 );
289
290
291 --
292 -- TOC entry 20 (OID 540816)
293 -- Name: users; Type: ACL; Schema: public; Owner: rich
294 --
295
296 REVOKE ALL ON TABLE users FROM PUBLIC;
297 GRANT ALL ON TABLE users TO "www-data";
298
299
300 SET SESSION AUTHORIZATION 'rich';
301
302 --
303 -- TOC entry 34 (OID 540816)
304 -- Name: users_id_seq; Type: ACL; Schema: public; Owner: rich
305 --
306
307 REVOKE ALL ON TABLE users_id_seq FROM PUBLIC;
308 GRANT ALL ON TABLE users_id_seq TO "www-data";
309
310
311 SET SESSION AUTHORIZATION 'rich';
312
313 --
314 -- TOC entry 21 (OID 540832)
315 -- Name: usercookies; Type: TABLE; Schema: public; Owner: rich
316 --
317
318 CREATE TABLE usercookies (
319     userid integer NOT NULL,
320     cookie text NOT NULL
321 );
322
323
324 --
325 -- TOC entry 22 (OID 540832)
326 -- Name: usercookies; Type: ACL; Schema: public; Owner: rich
327 --
328
329 REVOKE ALL ON TABLE usercookies FROM PUBLIC;
330 GRANT ALL ON TABLE usercookies TO "www-data";
331
332
333 SET SESSION AUTHORIZATION 'rich';
334
335 --
336 -- TOC entry 23 (OID 540961)
337 -- Name: sitemenu; Type: TABLE; Schema: public; Owner: rich
338 --
339
340 CREATE TABLE sitemenu (
341     hostid integer NOT NULL,
342     url text NOT NULL,
343     label text NOT NULL,
344     ordering integer NOT NULL
345 );
346
347
348 --
349 -- TOC entry 24 (OID 540961)
350 -- Name: sitemenu; Type: ACL; Schema: public; Owner: rich
351 --
352
353 REVOKE ALL ON TABLE sitemenu FROM PUBLIC;
354 GRANT ALL ON TABLE sitemenu TO "www-data";
355
356
357 SET SESSION AUTHORIZATION 'rich';
358
359 --
360 -- TOC entry 25 (OID 542605)
361 -- Name: contacts; Type: TABLE; Schema: public; Owner: rich
362 --
363
364 CREATE TABLE contacts (
365     id serial NOT NULL,
366     hostid integer NOT NULL,
367     name text NOT NULL,
368     subject text NOT NULL
369 );
370
371
372 --
373 -- TOC entry 26 (OID 542605)
374 -- Name: contacts; Type: ACL; Schema: public; Owner: rich
375 --
376
377 REVOKE ALL ON TABLE contacts FROM PUBLIC;
378 GRANT ALL ON TABLE contacts TO "www-data";
379
380
381 SET SESSION AUTHORIZATION 'rich';
382
383 --
384 -- TOC entry 35 (OID 542605)
385 -- Name: contacts_id_seq; Type: ACL; Schema: public; Owner: rich
386 --
387
388 REVOKE ALL ON TABLE contacts_id_seq FROM PUBLIC;
389 GRANT ALL ON TABLE contacts_id_seq TO "www-data";
390
391
392 SET SESSION AUTHORIZATION 'rich';
393
394 --
395 -- TOC entry 27 (OID 542617)
396 -- Name: contact_emails; Type: TABLE; Schema: public; Owner: rich
397 --
398
399 CREATE TABLE contact_emails (
400     contactid integer NOT NULL,
401     email text NOT NULL
402 );
403
404
405 --
406 -- TOC entry 28 (OID 542617)
407 -- Name: contact_emails; Type: ACL; Schema: public; Owner: rich
408 --
409
410 REVOKE ALL ON TABLE contact_emails FROM PUBLIC;
411 GRANT ALL ON TABLE contact_emails TO "www-data";
412
413
414 SET SESSION AUTHORIZATION 'rich';
415
416 --
417 -- TOC entry 40 (OID 536388)
418 -- Name: hostnames_hostid_name_uq; Type: INDEX; Schema: public; Owner: rich
419 --
420
421 CREATE UNIQUE INDEX hostnames_hostid_name_uq ON hostnames USING btree (hostid, name);
422
423
424 --
425 -- TOC entry 41 (OID 536389)
426 -- Name: hostnams_name_uq; Type: INDEX; Schema: public; Owner: rich
427 --
428
429 CREATE UNIQUE INDEX hostnams_name_uq ON hostnames USING btree (name);
430
431
432 --
433 -- TOC entry 37 (OID 536419)
434 -- Name: pages_url_uq; Type: INDEX; Schema: public; Owner: rich
435 --
436
437 CREATE UNIQUE INDEX pages_url_uq ON pages USING btree (hostid, url);
438
439
440 --
441 -- TOC entry 42 (OID 536924)
442 -- Name: email_notify_email_uq; Type: INDEX; Schema: public; Owner: rich
443 --
444
445 CREATE UNIQUE INDEX email_notify_email_uq ON email_notify USING btree (hostid, email);
446
447
448 --
449 -- TOC entry 43 (OID 540251)
450 -- Name: images_name_uq; Type: INDEX; Schema: public; Owner: rich
451 --
452
453 CREATE UNIQUE INDEX images_name_uq ON images USING btree (hostid, name);
454
455
456 --
457 -- TOC entry 45 (OID 540252)
458 -- Name: files_name_uq; Type: INDEX; Schema: public; Owner: rich
459 --
460
461 CREATE UNIQUE INDEX files_name_uq ON files USING btree (hostid, name);
462
463
464 --
465 -- TOC entry 48 (OID 540831)
466 -- Name: users_name_uq; Type: INDEX; Schema: public; Owner: rich
467 --
468
469 CREATE UNIQUE INDEX users_name_uq ON users USING btree (hostid, name);
470
471
472 --
473 -- TOC entry 47 (OID 540946)
474 -- Name: users_id_uq; Type: INDEX; Schema: public; Owner: rich
475 --
476
477 CREATE UNIQUE INDEX users_id_uq ON users USING btree (hostid, id);
478
479
480 --
481 -- TOC entry 50 (OID 540970)
482 -- Name: sitemenu_ordering_uq; Type: INDEX; Schema: public; Owner: rich
483 --
484
485 CREATE UNIQUE INDEX sitemenu_ordering_uq ON sitemenu USING btree (hostid, ordering);
486
487
488 --
489 -- TOC entry 51 (OID 540971)
490 -- Name: sitemenu_url_uq; Type: INDEX; Schema: public; Owner: rich
491 --
492
493 CREATE UNIQUE INDEX sitemenu_url_uq ON sitemenu USING btree (hostid, url);
494
495
496 --
497 -- TOC entry 53 (OID 542626)
498 -- Name: contact_emails_uq; Type: INDEX; Schema: public; Owner: rich
499 --
500
501 CREATE UNIQUE INDEX contact_emails_uq ON contact_emails USING btree (contactid, email);
502
503
504 --
505 -- TOC entry 36 (OID 536012)
506 -- Name: pages_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
507 --
508
509 ALTER TABLE ONLY pages
510     ADD CONSTRAINT pages_pkey PRIMARY KEY (id);
511
512
513 --
514 -- TOC entry 38 (OID 536027)
515 -- Name: contents_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
516 --
517
518 ALTER TABLE ONLY contents
519     ADD CONSTRAINT contents_pkey PRIMARY KEY (id);
520
521
522 --
523 -- TOC entry 39 (OID 536377)
524 -- Name: hosts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
525 --
526
527 ALTER TABLE ONLY hosts
528     ADD CONSTRAINT hosts_pkey PRIMARY KEY (id);
529
530
531 --
532 -- TOC entry 44 (OID 537158)
533 -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
534 --
535
536 ALTER TABLE ONLY images
537     ADD CONSTRAINT images_pkey PRIMARY KEY (id);
538
539
540 --
541 -- TOC entry 46 (OID 537173)
542 -- Name: files_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
543 --
544
545 ALTER TABLE ONLY files
546     ADD CONSTRAINT files_pkey PRIMARY KEY (id);
547
548
549 --
550 -- TOC entry 49 (OID 540825)
551 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
552 --
553
554 ALTER TABLE ONLY users
555     ADD CONSTRAINT users_pkey PRIMARY KEY (id);
556
557
558 --
559 -- TOC entry 52 (OID 542611)
560 -- Name: contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
561 --
562
563 ALTER TABLE ONLY contacts
564     ADD CONSTRAINT contacts_pkey PRIMARY KEY (id);
565
566
567 --
568 -- TOC entry 58 (OID 536029)
569 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
570 --
571
572 ALTER TABLE ONLY contents
573     ADD CONSTRAINT "$1" FOREIGN KEY (pageid) REFERENCES pages(id);
574
575
576 --
577 -- TOC entry 60 (OID 536384)
578 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
579 --
580
581 ALTER TABLE ONLY hostnames
582     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
583
584
585 --
586 -- TOC entry 59 (OID 536394)
587 -- Name: hosts_hostname_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
588 --
589
590 ALTER TABLE ONLY hosts
591     ADD CONSTRAINT hosts_hostname_cn FOREIGN KEY (id, canonical_hostname) REFERENCES hostnames(hostid, name) DEFERRABLE;
592
593
594 --
595 -- TOC entry 54 (OID 536404)
596 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
597 --
598
599 ALTER TABLE ONLY pages
600     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
601
602
603 --
604 -- TOC entry 61 (OID 536920)
605 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
606 --
607
608 ALTER TABLE ONLY email_notify
609     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
610
611
612 --
613 -- TOC entry 62 (OID 537160)
614 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
615 --
616
617 ALTER TABLE ONLY images
618     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
619
620
621 --
622 -- TOC entry 63 (OID 537175)
623 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
624 --
625
626 ALTER TABLE ONLY files
627     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
628
629
630 --
631 -- TOC entry 55 (OID 539155)
632 -- Name: pages_redirect_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
633 --
634
635 ALTER TABLE ONLY pages
636     ADD CONSTRAINT pages_redirect_cn FOREIGN KEY (hostid, redirect) REFERENCES pages(hostid, url) DEFERRABLE;
637
638
639 --
640 -- TOC entry 64 (OID 540827)
641 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
642 --
643
644 ALTER TABLE ONLY users
645     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
646
647
648 --
649 -- TOC entry 65 (OID 540837)
650 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
651 --
652
653 ALTER TABLE ONLY usercookies
654     ADD CONSTRAINT "$1" FOREIGN KEY (userid) REFERENCES users(id);
655
656
657 --
658 -- TOC entry 56 (OID 540942)
659 -- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: rich
660 --
661
662 ALTER TABLE ONLY pages
663     ADD CONSTRAINT "$2" FOREIGN KEY (logged_user) REFERENCES users(id);
664
665
666 --
667 -- TOC entry 57 (OID 540947)
668 -- Name: pages_user_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
669 --
670
671 ALTER TABLE ONLY pages
672     ADD CONSTRAINT pages_user_cn FOREIGN KEY (hostid, logged_user) REFERENCES users(hostid, id);
673
674
675 --
676 -- TOC entry 66 (OID 540966)
677 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
678 --
679
680 ALTER TABLE ONLY sitemenu
681     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
682
683
684 --
685 -- TOC entry 67 (OID 540972)
686 -- Name: sitemenu_url_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
687 --
688
689 ALTER TABLE ONLY sitemenu
690     ADD CONSTRAINT sitemenu_url_cn FOREIGN KEY (hostid, url) REFERENCES pages(hostid, url) DEFERRABLE;
691
692
693 --
694 -- TOC entry 68 (OID 542613)
695 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
696 --
697
698 ALTER TABLE ONLY contacts
699     ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
700
701
702 --
703 -- TOC entry 69 (OID 542622)
704 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
705 --
706
707 ALTER TABLE ONLY contact_emails
708     ADD CONSTRAINT "$1" FOREIGN KEY (contactid) REFERENCES contacts(id);
709
710
711 SET SESSION AUTHORIZATION 'postgres';
712
713 --
714 -- TOC entry 3 (OID 2200)
715 -- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
716 --
717
718 COMMENT ON SCHEMA public IS 'Standard public namespace';
719
720