530591e848c98512c5df697dbe2be923f7315218
[mir.git] / dbscripts / create_pg.sql
1 --
2 -- Selected TOC Entries:
3 --
4 \connect - postgres
5 --
6 -- TOC Entry ID 2 (OID 28714)
7 --
8 -- Name: media_id_seq Type: SEQUENCE Owner: postgres
9 --
10
11 CREATE SEQUENCE "media_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
12
13 --
14 -- TOC Entry ID 3 (OID 28733)
15 --
16 -- Name: media_folder_id_seq Type: SEQUENCE Owner: postgres
17 --
18
19 CREATE SEQUENCE "media_folder_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
20
21 --
22 -- TOC Entry ID 5 (OID 28771)
23 --
24 -- Name: feature_id_seq Type: SEQUENCE Owner: postgres
25 --
26
27 CREATE SEQUENCE "feature_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
28
29 --
30 -- TOC Entry ID 6 (OID 28790)
31 --
32 -- Name: topic_id_seq Type: SEQUENCE Owner: postgres
33 --
34
35 CREATE SEQUENCE "topic_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
36
37 --
38 -- TOC Entry ID 7 (OID 28809)
39 --
40 -- Name: webdb_users_id_seq Type: SEQUENCE Owner: postgres
41 --
42
43 CREATE SEQUENCE "webdb_users_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
44
45 --
46 -- TOC Entry ID 8 (OID 28828)
47 --
48 -- Name: comment_id_seq Type: SEQUENCE Owner: postgres
49 --
50
51 CREATE SEQUENCE "comment_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
52
53 --
54 -- TOC Entry ID 9 (OID 28847)
55 --
56 -- Name: breaking_id_seq Type: SEQUENCE Owner: postgres
57 --
58
59 CREATE SEQUENCE "breaking_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
60
61 --
62 -- TOC Entry ID 10 (OID 28866)
63 --
64 -- Name: messages_id_seq Type: SEQUENCE Owner: postgres
65 --
66
67 CREATE SEQUENCE "messages_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
68
69 --
70 -- TOC Entry ID 10 (OID 28866)
71 --
72 -- Name: media_type_id_seq Type: SEQUENCE Owner: postgres
73 --
74
75 CREATE SEQUENCE "media_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
76
77 --
78 -- TOC Entry ID 12 (OID 28885)
79 --
80 -- Name: media_folder Type: TABLE Owner: postgres
81 --
82
83 CREATE TABLE "media_folder" (
84         "id" integer DEFAULT nextval('media_folder_id_seq'::text) NOT NULL,
85         "name" character varying(255) NOT NULL,
86         "date" character(8) NOT NULL,
87         "place" character varying(80),
88         "keywords" text,
89         "comment" text,
90         "webdb_create" timestamp with time zone NOT NULL,
91         "webdb_lastchange" timestamp with time zone
92 );
93
94 --
95 -- TOC Entry ID 13 (OID 28918)
96 --
97 -- Name: media_type Type: TABLE Owner: postgres
98 --
99
100 CREATE TABLE "media_type" (
101         "id" integer DEFAULT nextval('media_type_id_seq'::text) NOT NULL,
102         "name" character varying(80) NOT NULL,
103         "mime_type" character varying(40) NOT NULL,
104         "classname" character varying(80) NOT NULL,
105         "tablename" character varying(80) NOT NULL,
106         "dcname" character varying(20)
107 );
108
109 --
110 -- TOC Entry ID 14 (OID 28932)
111 --
112 -- Name: img_format Type: TABLE Owner: postgres
113 --
114
115 CREATE TABLE "img_format" (
116         "id" smallint NOT NULL,
117         "name" character varying(20) NOT NULL,
118         "extension" character varying(10) NOT NULL,
119         "mimetype" character varying(40) NOT NULL,
120         "commment" character varying(255)
121 );
122
123 --
124 -- TOC Entry ID 15 (OID 28946)
125 --
126 -- Name: img_layout Type: TABLE Owner: postgres
127 --
128
129 CREATE TABLE "img_layout" (
130         "id" smallint NOT NULL,
131         "name" character varying(20) NOT NULL
132 );
133
134 --
135 -- TOC Entry ID 16 (OID 28957)
136 --
137 -- Name: img_type Type: TABLE Owner: postgres
138 --
139
140 CREATE TABLE "img_type" (
141         "id" smallint NOT NULL,
142         "name" character varying(30) NOT NULL
143 );
144
145 --
146 -- TOC Entry ID 17 (OID 28968)
147 --
148 -- Name: img_color Type: TABLE Owner: postgres
149 --
150
151 CREATE TABLE "img_color" (
152         "id" smallint NOT NULL,
153         "name" character varying(30) NOT NULL
154 );
155
156 --
157 -- TOC Entry ID 18 (OID 28979)
158 --
159 -- Name: language Type: TABLE Owner: postgres
160 --
161
162 CREATE TABLE "language" (
163         "id" integer NOT NULL,
164         "name" character varying(40) NOT NULL,
165         "code" character varying(2) NOT NULL,
166         Constraint "language_pkey" Primary Key ("id")
167 );
168
169 --
170 -- TOC Entry ID 19 (OID 28994)
171 --
172 -- Name: rights Type: TABLE Owner: postgres
173 --
174
175 CREATE TABLE "rights" (
176         "id" integer NOT NULL,
177         "name" character varying(80) NOT NULL,
178         "description" text,
179         Constraint "rights_pkey" Primary Key ("id")
180 );
181
182 --
183 -- TOC Entry ID 21 (OID 29043)
184 --
185 -- Name: feature Type: TABLE Owner: postgres
186 --
187
188 CREATE TABLE "feature" (
189         "id" integer DEFAULT nextval('feature_id_seq'::text) NOT NULL,
190         "title" character varying(80) NOT NULL,
191         "description" text,
192         "filename" character varying(20) NOT NULL,
193         "main_url" character varying(255),
194         "is_published" boolean DEFAULT '0' NOT NULL,
195         Constraint "feature_pkey" Primary Key ("id")
196 );
197
198 --
199 -- TOC Entry ID 22 (OID 29078)
200 --
201 -- Name: webdb_users Type: TABLE Owner: postgres
202 --
203
204 CREATE TABLE "webdb_users" (
205         "id" integer DEFAULT nextval('webdb_users_id_seq'::text) NOT NULL,
206         "login" character varying(16) NOT NULL,
207         "password" character varying(16) NOT NULL,
208         "is_admin" boolean DEFAULT '0' NOT NULL,
209         Constraint "webdb_users_pkey" Primary Key ("id")
210 );
211
212 --
213 -- TOC Entry ID 23 (OID 29096)
214 --
215 -- Name: content_x_topic Type: TABLE Owner: postgres
216 --
217
218 CREATE TABLE "content_x_topic" (
219         "content_id" integer NOT NULL,
220         "topic_id" integer NOT NULL
221 );
222
223 --
224 -- TOC Entry ID 24 (OID 29107)
225 --
226 -- Name: article_type Type: TABLE Owner: postgres
227 --
228
229 CREATE TABLE "article_type" (
230         "id" integer NOT NULL,
231         "name" character varying(20) NOT NULL
232 );
233
234 --
235 -- TOC Entry ID 25 (OID 29118)
236 --
237 -- Name: topic Type: TABLE Owner: postgres
238 --
239
240 CREATE TABLE "topic" (
241         "id" integer DEFAULT nextval('topic_id_seq'::text) NOT NULL,
242         "parent_id" integer DEFAULT '0' NOT NULL,
243         "title" character varying(80) NOT NULL,
244         "description" text,
245         "filename" character varying(20) NOT NULL,
246         "main_url" character varying(255),
247         "archiv_url" character varying(255),
248         Constraint "topic_pkey" Primary Key ("id")
249 );
250
251 --
252 -- TOC Entry ID 26 (OID 29154)
253 --
254 -- Name: comment Type: TABLE Owner: postgres
255 --
256
257 CREATE TABLE "comment" (
258         "id" integer DEFAULT nextval('comment_id_seq'::text) NOT NULL,
259         "title" character varying(80) NOT NULL,
260         "creator" character varying(80) NOT NULL,
261         "description" text NOT NULL,
262         "main_url" character varying(255),
263         "email" character varying(80),
264         "address" character varying(80),
265         "phone" character varying(20),
266         "webdb_create" timestamp with time zone NOT NULL,
267         "is_published" boolean DEFAULT '1' NOT NULL,
268         "to_language" integer DEFAULT '0' NOT NULL,
269         "to_media" integer NOT NULL,
270         "to_comment_status" smallint,
271         "checksum" integer, 
272         Constraint "comment_pkey" Primary Key ("id")
273 );
274
275 CREATE INDEX comment_checksum_index ON comment (checksum);
276
277 --
278 -- TOC Entry ID 27 (OID 29196)
279 --
280 -- Name: media Type: TABLE Owner: postgres
281 --
282
283 CREATE TABLE "media" (
284         "id" integer DEFAULT nextval('media_id_seq'::text) NOT NULL,
285         "title" character varying(80) NOT NULL,
286         "subtitle" character varying(30),
287         "edittitle" character varying(30),
288         "date" character(8) NOT NULL,
289         "place" character varying(80),
290         "creator" character varying(80),
291         "creator_main_url" character varying(255),
292         "creator_email" character varying(80),
293         "creator_address" character varying(80),
294         "creator_phone" character varying(20),
295         "description" text,
296         "keywords" text,
297         "comment" text,
298         "source" character varying(255),
299         "publish_date" timestamp with time zone,
300         "publish_server" character varying(255),
301         "publish_path" character varying(255),
302         "is_published" boolean DEFAULT '0' NOT NULL,
303         "is_produced" boolean DEFAULT '0' NOT NULL,
304         "to_feature" integer DEFAULT '0' NOT NULL,
305         "to_media_folder" integer DEFAULT '0' NOT NULL,
306         "to_media_type" smallint DEFAULT '0' NOT NULL,
307         "to_publisher" integer NOT NULL,
308         "to_language" integer DEFAULT '0',
309         "to_rights" integer DEFAULT '0',
310         "webdb_create" timestamp with time zone NOT NULL,
311         "webdb_lastchange" timestamp with time zone,
312         "to_media" integer
313 );
314
315 --
316 -- TOC Entry ID 28 (OID 29257)
317 --
318 -- Name: images Type: TABLE Owner: postgres
319 --
320
321 --
322 -- TOC Entry ID 32 (OID 29446)
323 --
324 -- Name: uploaded_media Type: TABLE Owner: postgres
325 --
326
327 CREATE TABLE "uploaded_media" (
328         "icon_is_produced" boolean DEFAULT '0' NOT NULL,
329         "icon_path" character varying(255),
330     "size" integer
331 ) INHERITS ("media");
332
333 CREATE TABLE "images" (
334         "image_data" oid,
335         "icon_data" oid,
336         "year" character varying(40),
337         "img_width" smallint,
338         "img_height" smallint,
339         "to_img_format" smallint DEFAULT '0' NOT NULL,
340         "to_img_layout" smallint DEFAULT '0' NOT NULL,
341         "to_img_type" smallint DEFAULT '0' NOT NULL,
342         "to_img_color" smallint DEFAULT '0' NOT NULL,
343         "icon_width" smallint,
344         "icon_height" smallint
345 )
346 INHERITS ("uploaded_media");
347
348 --
349 -- TOC Entry ID 29 (OID 29338)
350 --
351 -- Name: content Type: TABLE Owner: postgres
352 --
353
354 CREATE TABLE "content" (
355         "content_data" text,
356         "link_url" character varying(255),
357         "is_html" boolean DEFAULT '0' NOT NULL,
358         "is_stored" boolean DEFAULT '0' NOT NULL,
359         "is_mail_sent" boolean DEFAULT '1' NOT NULL,
360         "is_digest_sent" boolean DEFAULT '1' NOT NULL,
361         "to_article_type" smallint DEFAULT '0' NOT NULL,
362         "to_content" integer
363 )
364 INHERITS ("media");
365
366 --
367 -- TOC Entry ID 30 (OID 29418)
368 --
369 -- Name: breaking Type: TABLE Owner: postgres
370 --
371
372 CREATE TABLE "breaking" (
373         "id" integer DEFAULT nextval('breaking_id_seq'::text) NOT NULL,
374         "text" character varying(255) NOT NULL,
375         "webdb_create" timestamp with time zone NOT NULL
376 );
377
378 --
379 -- TOC Entry ID 31 (OID 29431)
380 --
381 -- Name: messages Type: TABLE Owner: postgres
382 --
383
384 CREATE TABLE "messages" (
385         "id" integer DEFAULT nextval('messages_id_seq'::text) NOT NULL,
386         "title" character varying(30),
387         "description" character varying(255) NOT NULL,
388         "creator" character varying(30) NOT NULL,
389         "webdb_create" timestamp with time zone NOT NULL
390 );
391
392 --
393 -- TOC Entry ID 33 (OID 30026)
394 --
395 -- Name: comment_status Type: TABLE Owner: postgres
396 --
397
398 CREATE TABLE "comment_status" (
399         "id" smallint NOT NULL,
400         "name" character varying(40) NOT NULL
401 );
402
403 --
404 -- TOC Entry ID 34 (OID 30064)
405 --
406 -- Name: content_x_media Type: TABLE Owner: postgres
407 --
408
409 CREATE TABLE "content_x_media" (
410         "content_id" integer,
411         "media_id" integer
412 );
413
414 --
415 -- TOC Entry ID 11 (OID 32812)
416 --
417 -- Name: links_imcs_id_seq Type: SEQUENCE Owner: postgres
418 --
419
420 CREATE SEQUENCE "links_imcs_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1  cache 1 ;
421
422 --
423 -- TOC Entry ID 35 (OID 32831)
424 --
425 -- Name: links_imcs Type: TABLE Owner: postgres
426 --
427
428 CREATE TABLE "links_imcs" (
429         "id" integer DEFAULT nextval('links_imcs_id_seq'::text) NOT NULL,
430         "to_parent_id" integer,
431         "title" character varying(80) NOT NULL,
432         "url" character varying(255) NOT NULL,
433         "sortpriority" integer DEFAULT '1',
434         "to_language" integer DEFAULT '0' NOT NULL,
435         Constraint "links_imcs_pkey" Primary Key ("id")
436 );
437
438 --
439 -- TOC Entry ID 40 (OID 29078)
440 --
441 -- Name: "idx_webdb_user_log_pas_is_admin" Type: INDEX Owner: postgres
442 --
443
444 CREATE  INDEX "idx_webdb_user_log_pas_is_admin" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops", "is_admin" "bool_ops" );
445
446 --
447 -- TOC Entry ID 44 (OID 29078)
448 --
449 -- Name: "idx_webdb_user_log_pas" Type: INDEX Owner: postgres
450 --
451
452 CREATE  INDEX "idx_webdb_user_log_pas" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops" );
453
454 --
455 -- TOC Entry ID 43 (OID 29096)
456 --
457 -- Name: "idx_content" Type: INDEX Owner: postgres
458 --
459
460 CREATE UNIQUE INDEX "idx_content" on "content_x_topic" using btree ( "content_id" "int4_ops", "topic_id" "int4_ops" );
461
462 --
463 -- TOC Entry ID 45 (OID 29096)
464 --
465 -- Name: "idx_topic" Type: INDEX Owner: postgres
466 --
467
468 CREATE UNIQUE INDEX "idx_topic" on "content_x_topic" using btree ( "topic_id" "int4_ops", "content_id" "int4_ops" );
469
470 --
471 -- TOC Entry ID 46 (OID 29118)
472 --
473 -- Name: "idx_topic_title" Type: INDEX Owner: postgres
474 --
475
476 CREATE  INDEX "idx_topic_title" on "topic" using btree ( "title" "varchar_ops" );
477
478 --
479 -- TOC Entry ID 51 (OID 29118)
480 --
481 -- Name: "idx_topic_id" Type: INDEX Owner: postgres
482 --
483
484 CREATE UNIQUE INDEX "idx_topic_id" on "topic" using btree ( "id" "int4_ops" );
485
486 --
487 -- TOC Entry ID 36 (OID 29154)
488 --
489 -- Name: "idx_comment_to_media" Type: INDEX Owner: postgres
490 --
491
492 CREATE  INDEX "idx_comment_to_media" on "comment" using btree ( "to_media" "int4_ops" );
493
494 --
495 -- TOC Entry ID 47 (OID 29257)
496 --
497 -- Name: "idx_images_is_published__icon_i" Type: INDEX Owner: postgres
498 --
499
500 CREATE  INDEX "idx_images_is_published__icon_i" on "images" using btree ( "is_published" "bool_ops", "icon_is_produced" "bool_ops" );
501
502 --
503 -- TOC Entry ID 49 (OID 29257)
504 --
505 -- Name: "idx_images_id" Type: INDEX Owner: postgres
506 --
507
508 CREATE UNIQUE INDEX "idx_images_id" on "images" using btree ( "id" "int4_ops" );
509
510 --
511 -- TOC Entry ID 37 (OID 29338)
512 --
513 -- Name: "idx_content_to_article_type" Type: INDEX Owner: postgres
514 --
515
516 CREATE  INDEX "idx_content_to_article_type" on "content" using btree ( "to_article_type" "int2_ops" );
517
518 --
519 -- TOC Entry ID 38 (OID 29338)
520 --
521 -- Name: "idx_content_is_produced" Type: INDEX Owner: postgres
522 --
523
524 CREATE  INDEX "idx_content_is_produced" on "content" using btree ( "is_produced" "bool_ops" );
525
526 --
527 -- TOC Entry ID 39 (OID 29338)
528 --
529 -- Name: "idx_content_is_published__to_ar" Type: INDEX Owner: postgres
530 --
531
532 CREATE  INDEX "idx_content_is_published__to_ar" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops" );
533
534 --
535 -- TOC Entry ID 41 (OID 29338)
536 --
537 -- Name: "idx_content_is_stored" Type: INDEX Owner: postgres
538 --
539
540 CREATE  INDEX "idx_content_is_stored" on "content" using btree ( "is_stored" "bool_ops" );
541
542 --
543 -- TOC Entry ID 42 (OID 29338)
544 --
545 -- Name: "idx_content_is_published__id" Type: INDEX Owner: postgres
546 --
547
548 CREATE  INDEX "idx_content_is_published__id" on "content" using btree ( "is_published" "bool_ops", "id" "int4_ops" );
549
550 --
551 -- TOC Entry ID 48 (OID 29338)
552 --
553 -- Name: "idx_content_is_pub__to_art__to_" Type: INDEX Owner: postgres
554 --
555
556 CREATE  INDEX "idx_content_is_pub__to_art__to_" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops", "id" "int4_ops" );
557
558 --
559 -- TOC Entry ID 50 (OID 29338)
560 --
561 -- Name: "idx_content_id" Type: INDEX Owner: postgres
562 --
563
564 CREATE UNIQUE INDEX "idx_content_id" on "content" using btree ( "id" "int4_ops" );
565
566 --
567 -- TOC Entry ID 52 (OID 30064)
568 --
569 -- Name: "idx_content_media" Type: INDEX Owner: postgres
570 --
571
572 CREATE UNIQUE INDEX "idx_content_media" on "content_x_media" using btree ( "content_id" "int4_ops", "media_id" "int4_ops" );
573
574 --
575 -- TOC Entry ID 53 (OID 30064)
576 --
577 -- Name: "idx_media_content" Type: INDEX Owner: postgres
578 --
579
580 CREATE UNIQUE INDEX "idx_media_content" on "content_x_media" using btree ( "media_id" "int4_ops", "content_id" "int4_ops" );
581