icingaweb2-module-director/schema/pgsql-migrations/upgrade_127.sql

198 lines
6.8 KiB
SQL

ALTER TABLE icinga_command_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX command_var_search_idx ON icinga_command_var (varname);
CREATE INDEX command_var_checksum ON icinga_command_var (checksum);
ALTER TABLE icinga_host_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX host_var_checksum ON icinga_host_var (checksum);
ALTER TABLE icinga_notification_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX notification_var_command ON icinga_notification_var (notification_id);
CREATE INDEX notification_var_checksum ON icinga_notification_var (checksum);
ALTER TABLE icinga_service_set_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX service_set_var_checksum ON icinga_service_set_var (checksum);
ALTER TABLE icinga_service_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX service_var_checksum ON icinga_service_var (checksum);
ALTER TABLE icinga_user_var
ADD COLUMN checksum bytea DEFAULT NULL CHECK(LENGTH(checksum) = 20);
CREATE INDEX user_var_checksum ON icinga_user_var (checksum);
CREATE TABLE icinga_var (
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
rendered_checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
varname character varying(255) NOT NULL,
varvalue TEXT NOT NULL,
rendered TEXT NOT NULL,
PRIMARY KEY (checksum)
);
CREATE INDEX var_search_idx ON icinga_var (varname);
CREATE TABLE icinga_flat_var (
var_checksum bytea NOT NULL CHECK(LENGTH(var_checksum) = 20),
flatname_checksum bytea NOT NULL CHECK(LENGTH(flatname_checksum) = 20),
flatname character varying(512) NOT NULL,
flatvalue TEXT NOT NULL,
PRIMARY KEY (var_checksum, flatname_checksum),
CONSTRAINT flat_var_var
FOREIGN KEY (var_checksum)
REFERENCES icinga_var (checksum)
ON DELETE CASCADE
ON UPDATE CASCADE
);
CREATE INDEX flat_var_var_checksum ON icinga_flat_var (var_checksum);
CREATE INDEX flat_var_search_varname ON icinga_flat_var (flatname);
CREATE INDEX flat_var_search_varvalue ON icinga_flat_var (flatvalue);
CREATE TABLE icinga_command_resolved_var (
command_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (command_id, checksum),
CONSTRAINT command_resolved_var_command
FOREIGN KEY (command_id)
REFERENCES icinga_command (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT command_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX command_resolved_var_search_varname ON icinga_command_resolved_var (varname);
CREATE INDEX command_resolved_var_command_id ON icinga_command_resolved_var (command_id);
CREATE INDEX command_resolved_var_schecksum ON icinga_command_resolved_var (checksum);
CREATE TABLE icinga_host_resolved_var (
host_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (host_id, checksum),
CONSTRAINT host_resolved_var_host
FOREIGN KEY (host_id)
REFERENCES icinga_host (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT host_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX host_resolved_var_search_varname ON icinga_host_resolved_var (varname);
CREATE INDEX host_resolved_var_host_id ON icinga_host_resolved_var (host_id);
CREATE INDEX host_resolved_var_schecksum ON icinga_host_resolved_var (checksum);
CREATE TABLE icinga_notification_resolved_var (
notification_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (notification_id, checksum),
CONSTRAINT notification_resolved_var_notification
FOREIGN KEY (notification_id)
REFERENCES icinga_notification (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT notification_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX notification_resolved_var_search_varname ON icinga_notification_resolved_var (varname);
CREATE INDEX notification_resolved_var_notification_id ON icinga_notification_resolved_var (notification_id);
CREATE INDEX notification_resolved_var_schecksum ON icinga_notification_resolved_var (checksum);
CREATE TABLE icinga_service_set_resolved_var (
service_set_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (service_set_id, checksum),
CONSTRAINT service_set_resolved_var_service_set
FOREIGN KEY (service_set_id)
REFERENCES icinga_service_set (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT service_set_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX service_set_resolved_var_search_varname ON icinga_service_set_resolved_var (varname);
CREATE INDEX service_set_resolved_var_service_set_id ON icinga_service_set_resolved_var (service_set_id);
CREATE INDEX service_set_resolved_var_schecksum ON icinga_service_set_resolved_var (checksum);
CREATE TABLE icinga_service_resolved_var (
service_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (service_id, checksum),
CONSTRAINT service_resolved_var_service
FOREIGN KEY (service_id)
REFERENCES icinga_service (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT service_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX service_resolved_var_search_varname ON icinga_service_resolved_var (varname);
CREATE INDEX service_resolved_var_service_id ON icinga_service_resolved_var (service_id);
CREATE INDEX service_resolved_var_schecksum ON icinga_service_resolved_var (checksum);
CREATE TABLE icinga_user_resolved_var (
user_id integer NOT NULL,
varname character varying(255) NOT NULL,
checksum bytea NOT NULL CHECK(LENGTH(checksum) = 20),
PRIMARY KEY (user_id, checksum),
CONSTRAINT user_resolved_var_user
FOREIGN KEY (user_id)
REFERENCES icinga_user (id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT user_resolved_var_checksum
FOREIGN KEY (checksum)
REFERENCES icinga_var (checksum)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
CREATE INDEX user_resolved_var_search_varname ON icinga_user_resolved_var (varname);
CREATE INDEX user_resolved_var_user_id ON icinga_user_resolved_var (user_id);
CREATE INDEX user_resolved_var_schecksum ON icinga_user_resolved_var (checksum);
INSERT INTO director_schema_migration
(schema_version, migration_time)
VALUES (127, NOW());