new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / os_dbd / postgresql.schema
1 -- Copyright (C) 2009 Trend Micro Inc.
2 -- All rights reserved.
3 --
4 -- This program is a free software; you can redistribute it
5 -- and/or modify it under the terms of the GNU General Public
6 -- License (version 2) as published by the FSF - Free Software
7 -- Foundation.
8
9 BEGIN;
10
11 CREATE TABLE category
12     (
13     cat_id      SERIAL  NOT NULL,
14     cat_name    VARCHAR(32) NOT NULL    UNIQUE,
15     PRIMARY KEY (cat_id)
16     );
17 CREATE INDEX cat_name ON category (cat_name);
18
19 CREATE TABLE signature
20     (
21     id          SERIAL          NOT NULL,
22     rule_id     INT8           NOT NULL UNIQUE,
23     level       INT4,
24     description VARCHAR(255)    NOT NULL,
25     PRIMARY KEY (id)
26     );
27 CREATE INDEX signature_level ON signature (level);
28 CREATE INDEX signature_rule_id ON signature (rule_id);
29
30 CREATE TABLE signature_category_mapping
31     (
32     id          SERIAL      NOT NULL,
33     rule_id     INT8       NOT NULL,
34     cat_id      INT4       NOT NULL,
35     PRIMARY KEY  (id, rule_id, cat_id)
36     );
37
38 CREATE TABLE server
39     (
40     id              SERIAL               NOT NULL,
41     last_contact    INT8                 NOT NULL,
42     version         VARCHAR(32)          NOT NULL,
43     hostname        VARCHAR(64)          NOT NULL   UNIQUE,
44     information     TEXT                 NOT NULL,
45     PRIMARY KEY  (id)
46     );
47
48 CREATE TABLE agent
49     (
50     id              SERIAL       NOT NULL,
51     server_id       INT8         NOT NULL,
52     last_contact    INT8         NOT NULL,
53     ip_address      VARCHAR(46)  NOT NULL,
54     version         VARCHAR(32)  NOT NULL,
55     name            VARCHAR(64)  NOT NULL,
56     information     VARCHAR(128) NOT NULL,
57     PRIMARY KEY  (id, server_id)
58     );
59
60 CREATE TABLE location
61     (
62     id              SERIAL          NOT NULL,
63     server_id       INT8            NOT NULL,
64     name            VARCHAR(128)    NOT NULL,
65     PRIMARY KEY  (id, server_id)
66     );
67
68 CREATE TABLE data
69     (
70     id              INT8        NOT NULL,
71     server_id       INT4        NOT NULL,
72     "user"          TEXT        NOT NULL,
73     full_log        TEXT        NOT NULL,
74     PRIMARY KEY  (id, server_id)
75     );
76
77 CREATE TABLE alert
78     (
79      id             bigserial   NOT NULL,
80     server_id       INT4        NOT NULL,
81     rule_id         INT8        NOT NULL,
82     level           INT2,
83     timestamp       INT8        NOT NULL,
84     location_id     INT4        NOT NULL,
85     src_ip          VARCHAR(46),
86     dst_ip          VARCHAR(46),
87     src_port        INT4,
88     dst_port        INT4,
89     alertid         TEXT        DEFAULT NULL,
90     "user"          TEXT,
91     full_log        TEXT        NOT NULL,
92     is_hidden       INT2        NOT NULL DEFAULT '0',
93     tld             VARCHAR(32)  NOT NULL DEFAULT '',
94     PRIMARY KEY (id, server_id)
95     );
96 CREATE INDEX alertid on alert(alertid);
97 CREATE INDEX alert_level on alert(level);
98 CREATE INDEX timestamp on alert(timestamp);
99 CREATE INDEX alert_rule_id on alert(rule_id);
100 CREATE INDEX src_ip on alert(src_ip);
101 CREATE INDEX tld on alert(tld);
102
103 COMMIT;