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