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