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