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