First version that works with Debian 9.. kind of
[ais.git] / structure.sql
1 --
2 -- PostgreSQL database dump
3 --
4
5 SET statement_timeout = 0;
6 SET client_encoding = 'UTF8';
7 SET standard_conforming_strings = off;
8 SET check_function_bodies = false;
9 SET client_min_messages = warning;
10 SET escape_string_warning = off;
11
12 SET search_path = public, pg_catalog;
13
14 SET default_tablespace = '';
15
16 SET default_with_oids = false;
17
18 --
19 -- Name: fleet; Type: TABLE; Schema: public; Owner: -; Tablespace: 
20 --
21
22 CREATE TABLE fleet (
23     name character varying(50) NOT NULL,
24     description text DEFAULT ''::text NOT NULL,
25     created timestamp without time zone DEFAULT now() NOT NULL,
26     id integer NOT NULL
27 );
28
29
30 --
31 -- Name: fleet_id_seq; Type: SEQUENCE; Schema: public; Owner: -
32 --
33
34 CREATE SEQUENCE fleet_id_seq
35     START WITH 1
36     INCREMENT BY 1
37     NO MAXVALUE
38     NO MINVALUE
39     CACHE 1;
40
41
42 --
43 -- Name: fleet_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
44 --
45
46 ALTER SEQUENCE fleet_id_seq OWNED BY fleet.id;
47
48
49 --
50 -- Name: fleet_user; Type: TABLE; Schema: public; Owner: -; Tablespace: 
51 --
52
53 CREATE TABLE fleet_user (
54     id integer NOT NULL,
55     user_id integer NOT NULL,
56     fleet_id integer NOT NULL
57 );
58
59
60 --
61 -- Name: fleet_user_id_seq; Type: SEQUENCE; Schema: public; Owner: -
62 --
63
64 CREATE SEQUENCE fleet_user_id_seq
65     START WITH 1
66     INCREMENT BY 1
67     NO MAXVALUE
68     NO MINVALUE
69     CACHE 1;
70
71
72 --
73 -- Name: fleet_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
74 --
75
76 ALTER SEQUENCE fleet_user_id_seq OWNED BY fleet_user.id;
77
78
79 --
80 -- Name: fleet_vessel; Type: TABLE; Schema: public; Owner: -; Tablespace: 
81 --
82
83 CREATE TABLE fleet_vessel (
84     id integer NOT NULL,
85     mmsi integer NOT NULL,
86     fleet_id integer NOT NULL
87 );
88
89
90 --
91 -- Name: fleet_vessel_id_seq; Type: SEQUENCE; Schema: public; Owner: -
92 --
93
94 CREATE SEQUENCE fleet_vessel_id_seq
95     START WITH 1
96     INCREMENT BY 1
97     NO MAXVALUE
98     NO MINVALUE
99     CACHE 1;
100
101
102 --
103 -- Name: fleet_vessel_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
104 --
105
106 ALTER SEQUENCE fleet_vessel_id_seq OWNED BY fleet_vessel.id;
107
108
109 --
110 -- Name: job; Type: TABLE; Schema: public; Owner: -; Tablespace: 
111 --
112
113 CREATE TABLE job (
114     id character(8) NOT NULL,
115     user_id integer,
116     queue_time timestamp without time zone DEFAULT timezone('GMT'::text, now()) NOT NULL,
117     start_time timestamp without time zone,
118     finish_time timestamp without time zone,
119     command text NOT NULL,
120     pid integer,
121     result integer,
122     archive_time timestamp without time zone,
123     friendly_filename character varying(255) NOT NULL,
124     notify character varying(1)
125 );
126
127
128 --
129 -- Name: mi_mmsi_i_seq; Type: SEQUENCE; Schema: public; Owner: -
130 --
131
132 CREATE SEQUENCE mi_mmsi_i_seq
133     START WITH 1
134     INCREMENT BY 1
135     NO MAXVALUE
136     NO MINVALUE
137     CACHE 1;
138
139
140 --
141 -- Name: mi_source; Type: TABLE; Schema: public; Owner: -; Tablespace: 
142 --
143
144 CREATE TABLE mi_source (
145     id integer NOT NULL,
146     userid integer DEFAULT 0,
147     name text NOT NULL
148 );
149
150
151 --
152 -- Name: mi_source_id_seq; Type: SEQUENCE; Schema: public; Owner: -
153 --
154
155 CREATE SEQUENCE mi_source_id_seq
156     START WITH 1
157     INCREMENT BY 1
158     NO MAXVALUE
159     NO MINVALUE
160     CACHE 1;
161
162
163 --
164 -- Name: mi_source_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
165 --
166
167 ALTER SEQUENCE mi_source_id_seq OWNED BY mi_source.id;
168
169
170 --
171 -- Name: mi_vessel; Type: TABLE; Schema: public; Owner: -; Tablespace: 
172 --
173
174 CREATE TABLE mi_vessel (
175     mmsi_txt character(9) NOT NULL
176 );
177
178
179 --
180 -- Name: news; Type: TABLE; Schema: public; Owner: -; Tablespace: 
181 --
182
183 CREATE TABLE news (
184     id integer NOT NULL,
185     updated timestamp without time zone DEFAULT now() NOT NULL,
186     title text NOT NULL,
187     txt text NOT NULL,
188     created timestamp without time zone DEFAULT now() NOT NULL
189 );
190
191
192 --
193 -- Name: news_id_seq; Type: SEQUENCE; Schema: public; Owner: -
194 --
195
196 CREATE SEQUENCE news_id_seq
197     START WITH 1
198     INCREMENT BY 1
199     NO MAXVALUE
200     NO MINVALUE
201     CACHE 1;
202
203
204 --
205 -- Name: news_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
206 --
207
208 ALTER SEQUENCE news_id_seq OWNED BY news.id;
209
210
211 --
212 -- Name: plane; Type: TABLE; Schema: public; Owner: -; Tablespace: 
213 --
214
215 CREATE TABLE plane (
216     flight character varying(8),
217     reg character varying(8) NOT NULL,
218     ads character varying(8) NOT NULL,
219     type character varying(4),
220     usr character(2),
221     updated timestamp without time zone NOT NULL
222 );
223
224
225 --
226 -- Name: ppuser; Type: TABLE; Schema: public; Owner: -; Tablespace: 
227 --
228
229 CREATE TABLE ppuser (
230     usr character(2) NOT NULL,
231     lat double precision,
232     lon double precision
233 );
234
235
236 --
237 -- Name: user; Type: TABLE; Schema: public; Owner: -; Tablespace: 
238 --
239
240 CREATE TABLE "user" (
241     login character varying(16) NOT NULL,
242     password_hash character varying(75) NOT NULL,
243     name character varying(50) NOT NULL,
244     email character varying(75) NOT NULL,
245     id integer NOT NULL,
246     father_id integer,
247     creation_datetime timestamp without time zone DEFAULT now() NOT NULL,
248     phone character varying(20) DEFAULT ''::character varying NOT NULL,
249     access_datetime timestamp without time zone,
250     flag_allowhidden boolean DEFAULT false NOT NULL
251 );
252
253
254 --
255 -- Name: user_id_seq; Type: SEQUENCE; Schema: public; Owner: -
256 --
257
258 CREATE SEQUENCE user_id_seq
259     START WITH 1
260     INCREMENT BY 1
261     NO MAXVALUE
262     NO MINVALUE
263     CACHE 1;
264
265
266 --
267 -- Name: user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
268 --
269
270 ALTER SEQUENCE user_id_seq OWNED BY "user".id;
271
272
273 --
274 -- Name: user_message; Type: TABLE; Schema: public; Owner: -; Tablespace: 
275 --
276
277 CREATE TABLE user_message (
278     id integer NOT NULL,
279     user_id integer NOT NULL,
280     user_message_category_id character varying(10) NOT NULL,
281     txt text DEFAULT ''::text NOT NULL
282 );
283
284
285 --
286 -- Name: user_message_category; Type: TABLE; Schema: public; Owner: -; Tablespace: 
287 --
288
289 CREATE TABLE user_message_category (
290     id character varying(10) NOT NULL
291 );
292
293
294 --
295 -- Name: user_message_id_seq; Type: SEQUENCE; Schema: public; Owner: -
296 --
297
298 CREATE SEQUENCE user_message_id_seq
299     START WITH 1
300     INCREMENT BY 1
301     NO MAXVALUE
302     NO MINVALUE
303     CACHE 1;
304
305
306 --
307 -- Name: user_message_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
308 --
309
310 ALTER SEQUENCE user_message_id_seq OWNED BY user_message.id;
311
312
313 --
314 -- Name: vessel; Type: TABLE; Schema: public; Owner: -; Tablespace: 
315 --
316
317 CREATE TABLE vessel (
318     callsign character varying(7),
319     updated timestamp without time zone DEFAULT now() NOT NULL,
320     name character varying(20),
321     type integer DEFAULT 0 NOT NULL,
322     source character varying(8),
323     mmsi integer NOT NULL,
324     imo integer,
325     destination character varying(20),
326     dim_bow integer DEFAULT 0 NOT NULL,
327     dim_stern integer DEFAULT 0 NOT NULL,
328     dim_port integer DEFAULT 0 NOT NULL,
329     dim_starboard integer DEFAULT 0 NOT NULL,
330     eta character varying(8) DEFAULT '00002460'::character varying NOT NULL
331 );
332
333
334 SET default_with_oids = true;
335
336 --
337 -- Name: vessel_extra_data; Type: TABLE; Schema: public; Owner: -; Tablespace: 
338 --
339
340 CREATE TABLE vessel_extra_data (
341     mmsi integer NOT NULL,
342     vessel_extra_field_id integer NOT NULL,
343     datetime timestamp without time zone DEFAULT now() NOT NULL,
344     value text NOT NULL
345 );
346
347
348 SET default_with_oids = false;
349
350 --
351 -- Name: vessel_extra_field; Type: TABLE; Schema: public; Owner: -; Tablespace: 
352 --
353
354 CREATE TABLE vessel_extra_field (
355     id integer NOT NULL,
356     name character varying(64) NOT NULL
357 );
358
359
360 --
361 -- Name: vessel_extra_field_id_seq; Type: SEQUENCE; Schema: public; Owner: -
362 --
363
364 CREATE SEQUENCE vessel_extra_field_id_seq
365     START WITH 1
366     INCREMENT BY 1
367     NO MAXVALUE
368     NO MINVALUE
369     CACHE 1;
370
371
372 --
373 -- Name: vessel_extra_field_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
374 --
375
376 ALTER SEQUENCE vessel_extra_field_id_seq OWNED BY vessel_extra_field.id;
377
378
379 --
380 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
381 --
382
383 ALTER TABLE ONLY fleet ALTER COLUMN id SET DEFAULT nextval('fleet_id_seq'::regclass);
384
385
386 --
387 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
388 --
389
390 ALTER TABLE ONLY fleet_user ALTER COLUMN id SET DEFAULT nextval('fleet_user_id_seq'::regclass);
391
392
393 --
394 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
395 --
396
397 ALTER TABLE ONLY fleet_vessel ALTER COLUMN id SET DEFAULT nextval('fleet_vessel_id_seq'::regclass);
398
399
400 --
401 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
402 --
403
404 ALTER TABLE ONLY mi_source ALTER COLUMN id SET DEFAULT nextval('mi_source_id_seq'::regclass);
405
406
407 --
408 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
409 --
410
411 ALTER TABLE ONLY news ALTER COLUMN id SET DEFAULT nextval('news_id_seq'::regclass);
412
413
414 --
415 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
416 --
417
418 ALTER TABLE ONLY "user" ALTER COLUMN id SET DEFAULT nextval('user_id_seq'::regclass);
419
420
421 --
422 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
423 --
424
425 ALTER TABLE ONLY user_message ALTER COLUMN id SET DEFAULT nextval('user_message_id_seq'::regclass);
426
427
428 --
429 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
430 --
431
432 ALTER TABLE ONLY vessel_extra_field ALTER COLUMN id SET DEFAULT nextval('vessel_extra_field_id_seq'::regclass);
433
434
435 --
436 -- Name: fleet_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
437 --
438
439 ALTER TABLE ONLY fleet
440     ADD CONSTRAINT fleet_pkey PRIMARY KEY (id);
441
442
443 --
444 -- Name: fleet_user_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
445 --
446
447 ALTER TABLE ONLY fleet_user
448     ADD CONSTRAINT fleet_user_pkey PRIMARY KEY (id);
449
450
451 --
452 -- Name: fleet_user_pkey2; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
453 --
454
455 ALTER TABLE ONLY fleet_user
456     ADD CONSTRAINT fleet_user_pkey2 UNIQUE (user_id, fleet_id);
457
458
459 --
460 -- Name: fleet_vessel_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
461 --
462
463 ALTER TABLE ONLY fleet_vessel
464     ADD CONSTRAINT fleet_vessel_pkey PRIMARY KEY (id);
465
466
467 --
468 -- Name: fleet_vessel_pkey2; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
469 --
470
471 ALTER TABLE ONLY fleet_vessel
472     ADD CONSTRAINT fleet_vessel_pkey2 UNIQUE (mmsi, fleet_id);
473
474
475 --
476 -- Name: job_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
477 --
478
479 ALTER TABLE ONLY job
480     ADD CONSTRAINT job_pkey PRIMARY KEY (id);
481
482
483 --
484 -- Name: mi_source_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
485 --
486
487 ALTER TABLE ONLY mi_source
488     ADD CONSTRAINT mi_source_name_key UNIQUE (name);
489
490
491 --
492 -- Name: mi_source_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
493 --
494
495 ALTER TABLE ONLY mi_source
496     ADD CONSTRAINT mi_source_pkey PRIMARY KEY (id);
497
498
499 --
500 -- Name: mi_vessel_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
501 --
502
503 ALTER TABLE ONLY mi_vessel
504     ADD CONSTRAINT mi_vessel_pkey PRIMARY KEY (mmsi_txt);
505
506
507 --
508 -- Name: plane_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
509 --
510
511 ALTER TABLE ONLY plane
512     ADD CONSTRAINT plane_pkey PRIMARY KEY (reg, ads);
513
514
515 --
516 -- Name: ppuser_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
517 --
518
519 ALTER TABLE ONLY ppuser
520     ADD CONSTRAINT ppuser_pkey PRIMARY KEY (usr);
521
522
523 --
524 -- Name: user_login_unique; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
525 --
526
527 ALTER TABLE ONLY "user"
528     ADD CONSTRAINT user_login_unique UNIQUE (login);
529
530
531 --
532 -- Name: user_message_category_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
533 --
534
535 ALTER TABLE ONLY user_message_category
536     ADD CONSTRAINT user_message_category_pkey PRIMARY KEY (id);
537
538
539 --
540 -- Name: user_message_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
541 --
542
543 ALTER TABLE ONLY user_message
544     ADD CONSTRAINT user_message_pkey PRIMARY KEY (id);
545
546
547 --
548 -- Name: user_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
549 --
550
551 ALTER TABLE ONLY "user"
552     ADD CONSTRAINT user_pkey PRIMARY KEY (id);
553
554
555 --
556 -- Name: vessel_extra_field_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
557 --
558
559 ALTER TABLE ONLY vessel_extra_field
560     ADD CONSTRAINT vessel_extra_field_pkey PRIMARY KEY (id);
561
562
563 --
564 -- Name: vessel_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
565 --
566
567 ALTER TABLE ONLY vessel
568     ADD CONSTRAINT vessel_pkey PRIMARY KEY (mmsi);
569
570
571 --
572 -- Name: job_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace: 
573 --
574
575 CREATE INDEX job_user_id ON job USING btree (user_id);
576
577
578 --
579 -- Name: user_message_user_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
580 --
581
582 CREATE INDEX user_message_user_idx ON user_message USING btree (user_id);
583
584
585 --
586 -- Name: fleet_user_fleet_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
587 --
588
589 ALTER TABLE ONLY fleet_user
590     ADD CONSTRAINT fleet_user_fleet_id_fkey FOREIGN KEY (fleet_id) REFERENCES fleet(id) ON UPDATE CASCADE ON DELETE CASCADE;
591
592
593 --
594 -- Name: fleet_user_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
595 --
596
597 ALTER TABLE ONLY fleet_user
598     ADD CONSTRAINT fleet_user_user_id_fkey FOREIGN KEY (user_id) REFERENCES "user"(id) ON UPDATE CASCADE ON DELETE CASCADE;
599
600
601 --
602 -- Name: fleet_vessel_fleet_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
603 --
604
605 ALTER TABLE ONLY fleet_vessel
606     ADD CONSTRAINT fleet_vessel_fleet_id_fkey FOREIGN KEY (fleet_id) REFERENCES fleet(id) ON UPDATE CASCADE ON DELETE CASCADE;
607
608
609 --
610 -- Name: fleet_vessel_mmsi_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
611 --
612
613 ALTER TABLE ONLY fleet_vessel
614     ADD CONSTRAINT fleet_vessel_mmsi_fkey FOREIGN KEY (mmsi) REFERENCES vessel(mmsi) ON UPDATE CASCADE ON DELETE CASCADE;
615
616
617 --
618 -- Name: job_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
619 --
620
621 ALTER TABLE ONLY job
622     ADD CONSTRAINT job_user_id_fkey FOREIGN KEY (user_id) REFERENCES "user"(id) ON UPDATE CASCADE ON DELETE SET NULL;
623
624
625 --
626 -- Name: user_father_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
627 --
628
629 ALTER TABLE ONLY "user"
630     ADD CONSTRAINT user_father_id_fkey FOREIGN KEY (father_id) REFERENCES "user"(id);
631
632
633 --
634 -- Name: user_message_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
635 --
636
637 ALTER TABLE ONLY user_message
638     ADD CONSTRAINT user_message_user_id_fkey FOREIGN KEY (user_message_category_id) REFERENCES user_message_category(id) ON UPDATE CASCADE ON DELETE CASCADE;
639
640
641 --
642 -- Name: user_message_user_message_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
643 --
644
645 ALTER TABLE ONLY user_message
646     ADD CONSTRAINT user_message_user_message_category_id_fkey FOREIGN KEY (user_message_category_id) REFERENCES user_message_category(id) ON UPDATE CASCADE ON DELETE CASCADE;
647
648
649 --
650 -- Name: vessel_extra_data_mmsi_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
651 --
652
653 ALTER TABLE ONLY vessel_extra_data
654     ADD CONSTRAINT vessel_extra_data_mmsi_fkey FOREIGN KEY (mmsi) REFERENCES vessel(mmsi) ON UPDATE CASCADE ON DELETE CASCADE;
655
656
657 --
658 -- Name: vessel_extra_data_vessel_extra_field_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
659 --
660
661 ALTER TABLE ONLY vessel_extra_data
662     ADD CONSTRAINT vessel_extra_data_vessel_extra_field_id_fkey FOREIGN KEY (vessel_extra_field_id) REFERENCES vessel_extra_field(id) ON UPDATE CASCADE ON DELETE CASCADE;
663
664
665 --
666 -- PostgreSQL database dump complete
667 --
668