-- -------------------------------------------------------- -- pgsql.sql -- DB definition for IDO Postgresql -- -- Copyright (c) 2009-2016 Icinga Development Team (https://www.icinga.org/) -- -- -------------------------------------------------------- -- -- Functions -- CREATE OR REPLACE FUNCTION from_unixtime(bigint) RETURNS timestamp with time zone AS ' SELECT to_timestamp($1) AS result ' LANGUAGE sql; CREATE OR REPLACE FUNCTION unix_timestamp(timestamp with time zone) RETURNS bigint AS ' SELECT EXTRACT(EPOCH FROM $1)::bigint AS result; ' LANGUAGE sql; -- ----------------------------------------- -- set dbversion -- ----------------------------------------- CREATE OR REPLACE FUNCTION updatedbversion(version_i TEXT) RETURNS void AS $$ BEGIN IF EXISTS( SELECT * FROM icinga_dbversion WHERE name='idoutils') THEN UPDATE icinga_dbversion SET version=version_i, modify_time=NOW() WHERE name='idoutils'; ELSE INSERT INTO icinga_dbversion (dbversion_id, name, version, create_time, modify_time) VALUES ('1', 'idoutils', version_i, NOW(), NOW()); END IF; RETURN; END; $$ LANGUAGE plpgsql; -- HINT: su - postgres; createlang plpgsql icinga; -- -- Database: icinga -- -- -------------------------------------------------------- -- -- Table structure for table icinga_acknowledgements -- CREATE TABLE icinga_acknowledgements ( acknowledgement_id bigserial, instance_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', entry_time_usec INTEGER default 0, acknowledgement_type INTEGER default 0, object_id bigint default 0, state INTEGER default 0, author_name TEXT default '', comment_data TEXT default '', is_sticky INTEGER default 0, persistent_comment INTEGER default 0, notify_contacts INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', CONSTRAINT PK_acknowledgement_id PRIMARY KEY (acknowledgement_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_commands -- CREATE TABLE icinga_commands ( command_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, object_id bigint default 0, command_line TEXT default '', CONSTRAINT PK_command_id PRIMARY KEY (command_id) , CONSTRAINT UQ_commands UNIQUE (instance_id,object_id,config_type) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_commenthistory -- CREATE TABLE icinga_commenthistory ( commenthistory_id bigserial, instance_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', entry_time_usec INTEGER default 0, comment_type INTEGER default 0, entry_type INTEGER default 0, object_id bigint default 0, comment_time timestamp with time zone default '1970-01-01 00:00:00+00', internal_comment_id bigint default 0, author_name TEXT default '', comment_data TEXT default '', is_persistent INTEGER default 0, comment_source INTEGER default 0, expires INTEGER default 0, expiration_time timestamp with time zone default '1970-01-01 00:00:00+00', deletion_time timestamp with time zone default '1970-01-01 00:00:00+00', deletion_time_usec INTEGER default 0, name TEXT default NULL, CONSTRAINT PK_commenthistory_id PRIMARY KEY (commenthistory_id) , CONSTRAINT UQ_commenthistory UNIQUE (instance_id,object_id,comment_time,internal_comment_id) ); -- -------------------------------------------------------- -- -- Table structure for table icinga_comments -- CREATE TABLE icinga_comments ( comment_id bigserial, instance_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', entry_time_usec INTEGER default 0, comment_type INTEGER default 0, entry_type INTEGER default 0, object_id bigint default 0, comment_time timestamp with time zone default '1970-01-01 00:00:00+00', internal_comment_id bigint default 0, author_name TEXT default '', comment_data TEXT default '', is_persistent INTEGER default 0, comment_source INTEGER default 0, expires INTEGER default 0, expiration_time timestamp with time zone default '1970-01-01 00:00:00+00', name TEXT default NULL, session_token INTEGER default NULL, CONSTRAINT PK_comment_id PRIMARY KEY (comment_id) , CONSTRAINT UQ_comments UNIQUE (instance_id,object_id,comment_time,internal_comment_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_configfiles -- CREATE TABLE icinga_configfiles ( configfile_id bigserial, instance_id bigint default 0, configfile_type INTEGER default 0, configfile_path TEXT default '', CONSTRAINT PK_configfile_id PRIMARY KEY (configfile_id) , CONSTRAINT UQ_configfiles UNIQUE (instance_id,configfile_type,configfile_path) ); -- -------------------------------------------------------- -- -- Table structure for table icinga_configfilevariables -- CREATE TABLE icinga_configfilevariables ( configfilevariable_id bigserial, instance_id bigint default 0, configfile_id bigint default 0, varname TEXT default '', varvalue TEXT default '', CONSTRAINT PK_configfilevariable_id PRIMARY KEY (configfilevariable_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_conninfo -- CREATE TABLE icinga_conninfo ( conninfo_id bigserial, instance_id bigint default 0, agent_name TEXT default '', agent_version TEXT default '', disposition TEXT default '', connect_source TEXT default '', connect_type TEXT default '', connect_time timestamp with time zone default '1970-01-01 00:00:00+00', disconnect_time timestamp with time zone default '1970-01-01 00:00:00+00', last_checkin_time timestamp with time zone default '1970-01-01 00:00:00+00', data_start_time timestamp with time zone default '1970-01-01 00:00:00+00', data_end_time timestamp with time zone default '1970-01-01 00:00:00+00', bytes_processed bigint default 0, lines_processed bigint default 0, entries_processed bigint default 0, CONSTRAINT PK_conninfo_id PRIMARY KEY (conninfo_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contactgroups -- CREATE TABLE icinga_contactgroups ( contactgroup_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, contactgroup_object_id bigint default 0, alias TEXT default '', CONSTRAINT PK_contactgroup_id PRIMARY KEY (contactgroup_id) , CONSTRAINT UQ_contactgroups UNIQUE (instance_id,config_type,contactgroup_object_id) ); -- -------------------------------------------------------- -- -- Table structure for table icinga_contactgroup_members -- CREATE TABLE icinga_contactgroup_members ( contactgroup_member_id bigserial, instance_id bigint default 0, contactgroup_id bigint default 0, contact_object_id bigint default 0, session_token INTEGER default NULL, CONSTRAINT PK_contactgroup_member_id PRIMARY KEY (contactgroup_member_id) ); -- -------------------------------------------------------- -- -- Table structure for table icinga_contactnotificationmethods -- CREATE TABLE icinga_contactnotificationmethods ( contactnotificationmethod_id bigserial, instance_id bigint default 0, contactnotification_id bigint default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, command_object_id bigint default 0, command_args TEXT default '', CONSTRAINT PK_contactnotificationmethod_id PRIMARY KEY (contactnotificationmethod_id) , CONSTRAINT UQ_contactnotificationmethods UNIQUE (instance_id,contactnotification_id,start_time,start_time_usec) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contactnotifications -- CREATE TABLE icinga_contactnotifications ( contactnotification_id bigserial, instance_id bigint default 0, notification_id bigint default 0, contact_object_id bigint default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, CONSTRAINT PK_contactnotification_id PRIMARY KEY (contactnotification_id) , CONSTRAINT UQ_contactnotifications UNIQUE (instance_id,contact_object_id,start_time,start_time_usec) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contacts -- CREATE TABLE icinga_contacts ( contact_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, contact_object_id bigint default 0, alias TEXT default '', email_address TEXT default '', pager_address TEXT default '', host_timeperiod_object_id bigint default 0, service_timeperiod_object_id bigint default 0, host_notifications_enabled INTEGER default 0, service_notifications_enabled INTEGER default 0, can_submit_commands INTEGER default 0, notify_service_recovery INTEGER default 0, notify_service_warning INTEGER default 0, notify_service_unknown INTEGER default 0, notify_service_critical INTEGER default 0, notify_service_flapping INTEGER default 0, notify_service_downtime INTEGER default 0, notify_host_recovery INTEGER default 0, notify_host_down INTEGER default 0, notify_host_unreachable INTEGER default 0, notify_host_flapping INTEGER default 0, notify_host_downtime INTEGER default 0, CONSTRAINT PK_contact_id PRIMARY KEY (contact_id) , CONSTRAINT UQ_contacts UNIQUE (instance_id,config_type,contact_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contactstatus -- CREATE TABLE icinga_contactstatus ( contactstatus_id bigserial, instance_id bigint default 0, contact_object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', host_notifications_enabled INTEGER default 0, service_notifications_enabled INTEGER default 0, last_host_notification timestamp with time zone default '1970-01-01 00:00:00+00', last_service_notification timestamp with time zone default '1970-01-01 00:00:00+00', modified_attributes INTEGER default 0, modified_host_attributes INTEGER default 0, modified_service_attributes INTEGER default 0, CONSTRAINT PK_contactstatus_id PRIMARY KEY (contactstatus_id) , CONSTRAINT UQ_contactstatus UNIQUE (contact_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contact_addresses -- CREATE TABLE icinga_contact_addresses ( contact_address_id bigserial, instance_id bigint default 0, contact_id bigint default 0, address_number INTEGER default 0, address TEXT default '', CONSTRAINT PK_contact_address_id PRIMARY KEY (contact_address_id) , CONSTRAINT UQ_contact_addresses UNIQUE (contact_id,address_number) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_contact_notificationcommands -- CREATE TABLE icinga_contact_notificationcommands ( contact_notificationcommand_id bigserial, instance_id bigint default 0, contact_id bigint default 0, notification_type INTEGER default 0, command_object_id bigint default 0, command_args TEXT default '', CONSTRAINT PK_contact_notificationcommand_id PRIMARY KEY (contact_notificationcommand_id) , CONSTRAINT UQ_contact_notificationcommands UNIQUE (contact_id,notification_type,command_object_id,command_args) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_customvariables -- CREATE TABLE icinga_customvariables ( customvariable_id bigserial, instance_id bigint default 0, object_id bigint default 0, config_type INTEGER default 0, has_been_modified INTEGER default 0, varname TEXT default '', varvalue TEXT default '', is_json INTEGER default 0, session_token INTEGER default NULL, CONSTRAINT PK_customvariable_id PRIMARY KEY (customvariable_id) , CONSTRAINT UQ_customvariables UNIQUE (object_id,config_type,varname) ) ; CREATE INDEX icinga_customvariables_i ON icinga_customvariables(varname); -- -------------------------------------------------------- -- -- Table structure for table icinga_customvariablestatus -- CREATE TABLE icinga_customvariablestatus ( customvariablestatus_id bigserial, instance_id bigint default 0, object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', has_been_modified INTEGER default 0, varname TEXT default '', varvalue TEXT default '', is_json INTEGER default 0, session_token INTEGER default NULL, CONSTRAINT PK_customvariablestatus_id PRIMARY KEY (customvariablestatus_id) , CONSTRAINT UQ_customvariablestatus UNIQUE (object_id,varname) ) ; CREATE INDEX icinga_customvariablestatus_i ON icinga_customvariablestatus(varname); -- -------------------------------------------------------- -- -- Table structure for table icinga_dbversion -- CREATE TABLE icinga_dbversion ( dbversion_id bigserial, name TEXT default '', version TEXT default '', create_time timestamp with time zone default '1970-01-01 00:00:00+00', modify_time timestamp with time zone default '1970-01-01 00:00:00+00', CONSTRAINT PK_dbversion_id PRIMARY KEY (dbversion_id) , CONSTRAINT UQ_dbversion UNIQUE (name) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_downtimehistory -- CREATE TABLE icinga_downtimehistory ( downtimehistory_id bigserial, instance_id bigint default 0, downtime_type INTEGER default 0, object_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', author_name TEXT default '', comment_data TEXT default '', internal_downtime_id bigint default 0, triggered_by_id bigint default 0, is_fixed INTEGER default 0, duration BIGINT default 0, scheduled_start_time timestamp with time zone default '1970-01-01 00:00:00+00', scheduled_end_time timestamp with time zone default '1970-01-01 00:00:00+00', was_started INTEGER default 0, actual_start_time timestamp with time zone default '1970-01-01 00:00:00+00', actual_start_time_usec INTEGER default 0, actual_end_time timestamp with time zone default '1970-01-01 00:00:00+00', actual_end_time_usec INTEGER default 0, was_cancelled INTEGER default 0, is_in_effect INTEGER default 0, trigger_time timestamp with time zone default '1970-01-01 00:00:00+00', name TEXT default NULL, CONSTRAINT PK_downtimehistory_id PRIMARY KEY (downtimehistory_id) , CONSTRAINT UQ_downtimehistory UNIQUE (instance_id,object_id,entry_time,internal_downtime_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_eventhandlers -- CREATE TABLE icinga_eventhandlers ( eventhandler_id bigserial, instance_id bigint default 0, eventhandler_type INTEGER default 0, object_id bigint default 0, state INTEGER default 0, state_type INTEGER default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, command_object_id bigint default 0, command_args TEXT default '', command_line TEXT default '', timeout INTEGER default 0, early_timeout INTEGER default 0, execution_time double precision default 0, return_code INTEGER default 0, output TEXT default '', long_output TEXT default '', CONSTRAINT PK_eventhandler_id PRIMARY KEY (eventhandler_id) , CONSTRAINT UQ_eventhandlers UNIQUE (instance_id,object_id,start_time,start_time_usec) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_externalcommands -- CREATE TABLE icinga_externalcommands ( externalcommand_id bigserial, instance_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', command_type INTEGER default 0, command_name TEXT default '', command_args TEXT default '', CONSTRAINT PK_externalcommand_id PRIMARY KEY (externalcommand_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_flappinghistory -- CREATE TABLE icinga_flappinghistory ( flappinghistory_id bigserial, instance_id bigint default 0, event_time timestamp with time zone default '1970-01-01 00:00:00+00', event_time_usec INTEGER default 0, event_type INTEGER default 0, reason_type INTEGER default 0, flapping_type INTEGER default 0, object_id bigint default 0, percent_state_change double precision default 0, low_threshold double precision default 0, high_threshold double precision default 0, comment_time timestamp with time zone default '1970-01-01 00:00:00+00', internal_comment_id bigint default 0, CONSTRAINT PK_flappinghistory_id PRIMARY KEY (flappinghistory_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostchecks -- CREATE TABLE icinga_hostchecks ( hostcheck_id bigserial, instance_id bigint default 0, host_object_id bigint default 0, check_type INTEGER default 0, is_raw_check INTEGER default 0, current_check_attempt INTEGER default 0, max_check_attempts INTEGER default 0, state INTEGER default 0, state_type INTEGER default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, command_object_id bigint default 0, command_args TEXT default '', command_line TEXT default '', timeout INTEGER default 0, early_timeout INTEGER default 0, execution_time double precision default 0, latency double precision default 0, return_code INTEGER default 0, output TEXT default '', long_output TEXT default '', perfdata TEXT default '', CONSTRAINT PK_hostcheck_id PRIMARY KEY (hostcheck_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostdependencies -- CREATE TABLE icinga_hostdependencies ( hostdependency_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, host_object_id bigint default 0, dependent_host_object_id bigint default 0, dependency_type INTEGER default 0, inherits_parent INTEGER default 0, timeperiod_object_id bigint default 0, fail_on_up INTEGER default 0, fail_on_down INTEGER default 0, fail_on_unreachable INTEGER default 0, CONSTRAINT PK_hostdependency_id PRIMARY KEY (hostdependency_id) ) ; CREATE INDEX idx_hostdependencies ON icinga_hostdependencies(instance_id,config_type,host_object_id,dependent_host_object_id,dependency_type,inherits_parent,fail_on_up,fail_on_down,fail_on_unreachable); -- -------------------------------------------------------- -- -- Table structure for table icinga_hostescalations -- CREATE TABLE icinga_hostescalations ( hostescalation_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, host_object_id bigint default 0, timeperiod_object_id bigint default 0, first_notification INTEGER default 0, last_notification INTEGER default 0, notification_interval double precision default 0, escalate_on_recovery INTEGER default 0, escalate_on_down INTEGER default 0, escalate_on_unreachable INTEGER default 0, CONSTRAINT PK_hostescalation_id PRIMARY KEY (hostescalation_id) , CONSTRAINT UQ_hostescalations UNIQUE (instance_id,config_type,host_object_id,timeperiod_object_id,first_notification,last_notification) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostescalation_contactgroups -- CREATE TABLE icinga_hostescalation_contactgroups ( hostescalation_contactgroup_id bigserial, instance_id bigint default 0, hostescalation_id bigint default 0, contactgroup_object_id bigint default 0, CONSTRAINT PK_hostescalation_contactgroup_id PRIMARY KEY (hostescalation_contactgroup_id) , CONSTRAINT UQ_hostescalation_contactgroups UNIQUE (hostescalation_id,contactgroup_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostescalation_contacts -- CREATE TABLE icinga_hostescalation_contacts ( hostescalation_contact_id bigserial, instance_id bigint default 0, hostescalation_id bigint default 0, contact_object_id bigint default 0, CONSTRAINT PK_hostescalation_contact_id PRIMARY KEY (hostescalation_contact_id) , CONSTRAINT UQ_hostescalation_contacts UNIQUE (instance_id,hostescalation_id,contact_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostgroups -- CREATE TABLE icinga_hostgroups ( hostgroup_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, hostgroup_object_id bigint default 0, alias TEXT default '', notes TEXT default NULL, notes_url TEXT default NULL, action_url TEXT default NULL, CONSTRAINT PK_hostgroup_id PRIMARY KEY (hostgroup_id) , CONSTRAINT UQ_hostgroups UNIQUE (instance_id,hostgroup_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hostgroup_members -- CREATE TABLE icinga_hostgroup_members ( hostgroup_member_id bigserial, instance_id bigint default 0, hostgroup_id bigint default 0, host_object_id bigint default 0, session_token INTEGER default NULL, CONSTRAINT PK_hostgroup_member_id PRIMARY KEY (hostgroup_member_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hosts -- CREATE TABLE icinga_hosts ( host_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, host_object_id bigint default 0, alias TEXT default '', display_name TEXT default '', address TEXT default '', address6 TEXT default '', check_command_object_id bigint default 0, check_command_args TEXT default '', eventhandler_command_object_id bigint default 0, eventhandler_command_args TEXT default '', notification_timeperiod_object_id bigint default 0, check_timeperiod_object_id bigint default 0, failure_prediction_options TEXT default '', check_interval double precision default 0, retry_interval double precision default 0, max_check_attempts INTEGER default 0, first_notification_delay double precision default 0, notification_interval double precision default 0, notify_on_down INTEGER default 0, notify_on_unreachable INTEGER default 0, notify_on_recovery INTEGER default 0, notify_on_flapping INTEGER default 0, notify_on_downtime INTEGER default 0, stalk_on_up INTEGER default 0, stalk_on_down INTEGER default 0, stalk_on_unreachable INTEGER default 0, flap_detection_enabled INTEGER default 0, flap_detection_on_up INTEGER default 0, flap_detection_on_down INTEGER default 0, flap_detection_on_unreachable INTEGER default 0, low_flap_threshold double precision default 0, high_flap_threshold double precision default 0, process_performance_data INTEGER default 0, freshness_checks_enabled INTEGER default 0, freshness_threshold INTEGER default 0, passive_checks_enabled INTEGER default 0, event_handler_enabled INTEGER default 0, active_checks_enabled INTEGER default 0, retain_status_information INTEGER default 0, retain_nonstatus_information INTEGER default 0, notifications_enabled INTEGER default 0, obsess_over_host INTEGER default 0, failure_prediction_enabled INTEGER default 0, notes TEXT default '', notes_url TEXT default '', action_url TEXT default '', icon_image TEXT default '', icon_image_alt TEXT default '', vrml_image TEXT default '', statusmap_image TEXT default '', have_2d_coords INTEGER default 0, x_2d INTEGER default 0, y_2d INTEGER default 0, have_3d_coords INTEGER default 0, x_3d double precision default 0, y_3d double precision default 0, z_3d double precision default 0, CONSTRAINT PK_host_id PRIMARY KEY (host_id) , CONSTRAINT UQ_hosts UNIQUE (instance_id,config_type,host_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_hoststatus -- CREATE TABLE icinga_hoststatus ( hoststatus_id bigserial, instance_id bigint default 0, host_object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', output TEXT default '', long_output TEXT default '', perfdata TEXT default '', check_source varchar(255) default '', current_state INTEGER default 0, has_been_checked INTEGER default 0, should_be_scheduled INTEGER default 0, current_check_attempt INTEGER default 0, max_check_attempts INTEGER default 0, last_check timestamp with time zone default '1970-01-01 00:00:00+00', next_check timestamp with time zone default '1970-01-01 00:00:00+00', check_type INTEGER default 0, last_state_change timestamp with time zone default '1970-01-01 00:00:00+00', last_hard_state_change timestamp with time zone default '1970-01-01 00:00:00+00', last_hard_state INTEGER default 0, last_time_up timestamp with time zone default '1970-01-01 00:00:00+00', last_time_down timestamp with time zone default '1970-01-01 00:00:00+00', last_time_unreachable timestamp with time zone default '1970-01-01 00:00:00+00', state_type INTEGER default 0, last_notification timestamp with time zone default '1970-01-01 00:00:00+00', next_notification timestamp with time zone default '1970-01-01 00:00:00+00', no_more_notifications INTEGER default 0, notifications_enabled INTEGER default 0, problem_has_been_acknowledged INTEGER default 0, acknowledgement_type INTEGER default 0, current_notification_number INTEGER default 0, passive_checks_enabled INTEGER default 0, active_checks_enabled INTEGER default 0, event_handler_enabled INTEGER default 0, flap_detection_enabled INTEGER default 0, is_flapping INTEGER default 0, percent_state_change double precision default 0, latency double precision default 0, execution_time double precision default 0, scheduled_downtime_depth INTEGER default 0, failure_prediction_enabled INTEGER default 0, process_performance_data INTEGER default 0, obsess_over_host INTEGER default 0, modified_host_attributes INTEGER default 0, original_attributes TEXT default NULL, event_handler TEXT default '', check_command TEXT default '', normal_check_interval double precision default 0, retry_check_interval double precision default 0, check_timeperiod_object_id bigint default 0, is_reachable INTEGER default 0, CONSTRAINT PK_hoststatus_id PRIMARY KEY (hoststatus_id) , CONSTRAINT UQ_hoststatus UNIQUE (host_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_host_contactgroups -- CREATE TABLE icinga_host_contactgroups ( host_contactgroup_id bigserial, instance_id bigint default 0, host_id bigint default 0, contactgroup_object_id bigint default 0, CONSTRAINT PK_host_contactgroup_id PRIMARY KEY (host_contactgroup_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_host_contacts -- CREATE TABLE icinga_host_contacts ( host_contact_id bigserial, instance_id bigint default 0, host_id bigint default 0, contact_object_id bigint default 0, CONSTRAINT PK_host_contact_id PRIMARY KEY (host_contact_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_host_parenthosts -- CREATE TABLE icinga_host_parenthosts ( host_parenthost_id bigserial, instance_id bigint default 0, host_id bigint default 0, parent_host_object_id bigint default 0, CONSTRAINT PK_host_parenthost_id PRIMARY KEY (host_parenthost_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_instances -- CREATE TABLE icinga_instances ( instance_id bigserial, instance_name TEXT default '', instance_description TEXT default '', CONSTRAINT PK_instance_id PRIMARY KEY (instance_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_logentries -- CREATE TABLE icinga_logentries ( logentry_id bigserial, instance_id bigint default 0, logentry_time timestamp with time zone default '1970-01-01 00:00:00+00', entry_time timestamp with time zone default '1970-01-01 00:00:00+00', entry_time_usec INTEGER default 0, logentry_type INTEGER default 0, logentry_data TEXT default '', realtime_data INTEGER default 0, inferred_data_extracted INTEGER default 0, object_id bigint default NULL, CONSTRAINT PK_logentry_id PRIMARY KEY (logentry_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_notifications -- CREATE TABLE icinga_notifications ( notification_id bigserial, instance_id bigint default 0, notification_type INTEGER default 0, notification_reason INTEGER default 0, object_id bigint default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, state INTEGER default 0, output TEXT default '', long_output TEXT default '', escalated INTEGER default 0, contacts_notified INTEGER default 0, CONSTRAINT PK_notification_id PRIMARY KEY (notification_id) , CONSTRAINT UQ_notifications UNIQUE (instance_id,object_id,start_time,start_time_usec) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_objects -- CREATE TABLE icinga_objects ( object_id bigserial, instance_id bigint default 0, objecttype_id bigint default 0, name1 TEXT, name2 TEXT, is_active INTEGER default 0, CONSTRAINT PK_object_id PRIMARY KEY (object_id) -- UNIQUE (objecttype_id,name1,name2) ) ; CREATE INDEX icinga_objects_i ON icinga_objects(objecttype_id,name1,name2); -- -------------------------------------------------------- -- -- Table structure for table icinga_processevents -- CREATE TABLE icinga_processevents ( processevent_id bigserial, instance_id bigint default 0, event_type INTEGER default 0, event_time timestamp with time zone default '1970-01-01 00:00:00+00', event_time_usec INTEGER default 0, process_id bigint default 0, program_name TEXT default '', program_version TEXT default '', program_date TEXT default '', CONSTRAINT PK_processevent_id PRIMARY KEY (processevent_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_programstatus -- CREATE TABLE icinga_programstatus ( programstatus_id bigserial, instance_id bigint default 0, program_version TEXT default NULL, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', program_start_time timestamp with time zone default '1970-01-01 00:00:00+00', program_end_time timestamp with time zone default '1970-01-01 00:00:00+00', is_currently_running INTEGER default 0, endpoint_name TEXT default '', process_id bigint default 0, daemon_mode INTEGER default 0, last_command_check timestamp with time zone default '1970-01-01 00:00:00+00', last_log_rotation timestamp with time zone default '1970-01-01 00:00:00+00', notifications_enabled INTEGER default 0, disable_notif_expire_time timestamp with time zone default '1970-01-01 00:00:00+00', active_service_checks_enabled INTEGER default 0, passive_service_checks_enabled INTEGER default 0, active_host_checks_enabled INTEGER default 0, passive_host_checks_enabled INTEGER default 0, event_handlers_enabled INTEGER default 0, flap_detection_enabled INTEGER default 0, failure_prediction_enabled INTEGER default 0, process_performance_data INTEGER default 0, obsess_over_hosts INTEGER default 0, obsess_over_services INTEGER default 0, modified_host_attributes INTEGER default 0, modified_service_attributes INTEGER default 0, global_host_event_handler TEXT default '', global_service_event_handler TEXT default '', config_dump_in_progress INTEGER default 0, CONSTRAINT PK_programstatus_id PRIMARY KEY (programstatus_id) , CONSTRAINT UQ_programstatus UNIQUE (instance_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_runtimevariables -- CREATE TABLE icinga_runtimevariables ( runtimevariable_id bigserial, instance_id bigint default 0, varname TEXT default '', varvalue TEXT default '', CONSTRAINT PK_runtimevariable_id PRIMARY KEY (runtimevariable_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_scheduleddowntime -- CREATE TABLE icinga_scheduleddowntime ( scheduleddowntime_id bigserial, instance_id bigint default 0, downtime_type INTEGER default 0, object_id bigint default 0, entry_time timestamp with time zone default '1970-01-01 00:00:00+00', author_name TEXT default '', comment_data TEXT default '', internal_downtime_id bigint default 0, triggered_by_id bigint default 0, is_fixed INTEGER default 0, duration BIGINT default 0, scheduled_start_time timestamp with time zone default '1970-01-01 00:00:00+00', scheduled_end_time timestamp with time zone default '1970-01-01 00:00:00+00', was_started INTEGER default 0, actual_start_time timestamp with time zone default '1970-01-01 00:00:00+00', actual_start_time_usec INTEGER default 0, is_in_effect INTEGER default 0, trigger_time timestamp with time zone default '1970-01-01 00:00:00+00', name TEXT default NULL, session_token INTEGER default NULL, CONSTRAINT PK_scheduleddowntime_id PRIMARY KEY (scheduleddowntime_id) , CONSTRAINT UQ_scheduleddowntime UNIQUE (instance_id,object_id,entry_time,internal_downtime_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_servicechecks -- CREATE TABLE icinga_servicechecks ( servicecheck_id bigserial, instance_id bigint default 0, service_object_id bigint default 0, check_type INTEGER default 0, current_check_attempt INTEGER default 0, max_check_attempts INTEGER default 0, state INTEGER default 0, state_type INTEGER default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, command_object_id bigint default 0, command_args TEXT default '', command_line TEXT default '', timeout INTEGER default 0, early_timeout INTEGER default 0, execution_time double precision default 0, latency double precision default 0, return_code INTEGER default 0, output TEXT default '', long_output TEXT default '', perfdata TEXT default '', CONSTRAINT PK_servicecheck_id PRIMARY KEY (servicecheck_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_servicedependencies -- CREATE TABLE icinga_servicedependencies ( servicedependency_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, service_object_id bigint default 0, dependent_service_object_id bigint default 0, dependency_type INTEGER default 0, inherits_parent INTEGER default 0, timeperiod_object_id bigint default 0, fail_on_ok INTEGER default 0, fail_on_warning INTEGER default 0, fail_on_unknown INTEGER default 0, fail_on_critical INTEGER default 0, CONSTRAINT PK_servicedependency_id PRIMARY KEY (servicedependency_id) ) ; CREATE INDEX idx_servicedependencies ON icinga_servicedependencies(instance_id,config_type,service_object_id,dependent_service_object_id,dependency_type,inherits_parent,fail_on_ok,fail_on_warning,fail_on_unknown,fail_on_critical); -- -------------------------------------------------------- -- -- Table structure for table icinga_serviceescalations -- CREATE TABLE icinga_serviceescalations ( serviceescalation_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, service_object_id bigint default 0, timeperiod_object_id bigint default 0, first_notification INTEGER default 0, last_notification INTEGER default 0, notification_interval double precision default 0, escalate_on_recovery INTEGER default 0, escalate_on_warning INTEGER default 0, escalate_on_unknown INTEGER default 0, escalate_on_critical INTEGER default 0, CONSTRAINT PK_serviceescalation_id PRIMARY KEY (serviceescalation_id) , CONSTRAINT UQ_serviceescalations UNIQUE (instance_id,config_type,service_object_id,timeperiod_object_id,first_notification,last_notification) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_serviceescalation_contactgroups -- CREATE TABLE icinga_serviceescalation_contactgroups ( serviceescalation_contactgroup_id bigserial, instance_id bigint default 0, serviceescalation_id bigint default 0, contactgroup_object_id bigint default 0, CONSTRAINT PK_serviceescalation_contactgroup_id PRIMARY KEY (serviceescalation_contactgroup_id) , CONSTRAINT UQ_serviceescalation_contactgro UNIQUE (serviceescalation_id,contactgroup_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_serviceescalation_contacts -- CREATE TABLE icinga_serviceescalation_contacts ( serviceescalation_contact_id bigserial, instance_id bigint default 0, serviceescalation_id bigint default 0, contact_object_id bigint default 0, CONSTRAINT PK_serviceescalation_contact_id PRIMARY KEY (serviceescalation_contact_id) , CONSTRAINT UQ_serviceescalation_contacts UNIQUE (instance_id,serviceescalation_id,contact_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_servicegroups -- CREATE TABLE icinga_servicegroups ( servicegroup_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, servicegroup_object_id bigint default 0, alias TEXT default '', notes TEXT default NULL, notes_url TEXT default NULL, action_url TEXT default NULL, CONSTRAINT PK_servicegroup_id PRIMARY KEY (servicegroup_id) , CONSTRAINT UQ_servicegroups UNIQUE (instance_id,config_type,servicegroup_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_servicegroup_members -- CREATE TABLE icinga_servicegroup_members ( servicegroup_member_id bigserial, instance_id bigint default 0, servicegroup_id bigint default 0, service_object_id bigint default 0, session_token INTEGER default NULL, CONSTRAINT PK_servicegroup_member_id PRIMARY KEY (servicegroup_member_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_services -- CREATE TABLE icinga_services ( service_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, host_object_id bigint default 0, service_object_id bigint default 0, display_name TEXT default '', check_command_object_id bigint default 0, check_command_args TEXT default '', eventhandler_command_object_id bigint default 0, eventhandler_command_args TEXT default '', notification_timeperiod_object_id bigint default 0, check_timeperiod_object_id bigint default 0, failure_prediction_options TEXT default '', check_interval double precision default 0, retry_interval double precision default 0, max_check_attempts INTEGER default 0, first_notification_delay double precision default 0, notification_interval double precision default 0, notify_on_warning INTEGER default 0, notify_on_unknown INTEGER default 0, notify_on_critical INTEGER default 0, notify_on_recovery INTEGER default 0, notify_on_flapping INTEGER default 0, notify_on_downtime INTEGER default 0, stalk_on_ok INTEGER default 0, stalk_on_warning INTEGER default 0, stalk_on_unknown INTEGER default 0, stalk_on_critical INTEGER default 0, is_volatile INTEGER default 0, flap_detection_enabled INTEGER default 0, flap_detection_on_ok INTEGER default 0, flap_detection_on_warning INTEGER default 0, flap_detection_on_unknown INTEGER default 0, flap_detection_on_critical INTEGER default 0, low_flap_threshold double precision default 0, high_flap_threshold double precision default 0, process_performance_data INTEGER default 0, freshness_checks_enabled INTEGER default 0, freshness_threshold INTEGER default 0, passive_checks_enabled INTEGER default 0, event_handler_enabled INTEGER default 0, active_checks_enabled INTEGER default 0, retain_status_information INTEGER default 0, retain_nonstatus_information INTEGER default 0, notifications_enabled INTEGER default 0, obsess_over_service INTEGER default 0, failure_prediction_enabled INTEGER default 0, notes TEXT default '', notes_url TEXT default '', action_url TEXT default '', icon_image TEXT default '', icon_image_alt TEXT default '', CONSTRAINT PK_service_id PRIMARY KEY (service_id) , CONSTRAINT UQ_services UNIQUE (instance_id,config_type,service_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_servicestatus -- CREATE TABLE icinga_servicestatus ( servicestatus_id bigserial, instance_id bigint default 0, service_object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', output TEXT default '', long_output TEXT default '', perfdata TEXT default '', check_source varchar(255) default '', current_state INTEGER default 0, has_been_checked INTEGER default 0, should_be_scheduled INTEGER default 0, current_check_attempt INTEGER default 0, max_check_attempts INTEGER default 0, last_check timestamp with time zone default '1970-01-01 00:00:00+00', next_check timestamp with time zone default '1970-01-01 00:00:00+00', check_type INTEGER default 0, last_state_change timestamp with time zone default '1970-01-01 00:00:00+00', last_hard_state_change timestamp with time zone default '1970-01-01 00:00:00+00', last_hard_state INTEGER default 0, last_time_ok timestamp with time zone default '1970-01-01 00:00:00+00', last_time_warning timestamp with time zone default '1970-01-01 00:00:00+00', last_time_unknown timestamp with time zone default '1970-01-01 00:00:00+00', last_time_critical timestamp with time zone default '1970-01-01 00:00:00+00', state_type INTEGER default 0, last_notification timestamp with time zone default '1970-01-01 00:00:00+00', next_notification timestamp with time zone default '1970-01-01 00:00:00+00', no_more_notifications INTEGER default 0, notifications_enabled INTEGER default 0, problem_has_been_acknowledged INTEGER default 0, acknowledgement_type INTEGER default 0, current_notification_number INTEGER default 0, passive_checks_enabled INTEGER default 0, active_checks_enabled INTEGER default 0, event_handler_enabled INTEGER default 0, flap_detection_enabled INTEGER default 0, is_flapping INTEGER default 0, percent_state_change double precision default 0, latency double precision default 0, execution_time double precision default 0, scheduled_downtime_depth INTEGER default 0, failure_prediction_enabled INTEGER default 0, process_performance_data INTEGER default 0, obsess_over_service INTEGER default 0, modified_service_attributes INTEGER default 0, original_attributes TEXT default NULL, event_handler TEXT default '', check_command TEXT default '', normal_check_interval double precision default 0, retry_check_interval double precision default 0, check_timeperiod_object_id bigint default 0, is_reachable INTEGER default 0, CONSTRAINT PK_servicestatus_id PRIMARY KEY (servicestatus_id) , CONSTRAINT UQ_servicestatus UNIQUE (service_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_service_contactgroups -- CREATE TABLE icinga_service_contactgroups ( service_contactgroup_id bigserial, instance_id bigint default 0, service_id bigint default 0, contactgroup_object_id bigint default 0, CONSTRAINT PK_service_contactgroup_id PRIMARY KEY (service_contactgroup_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_service_contacts -- CREATE TABLE icinga_service_contacts ( service_contact_id bigserial, instance_id bigint default 0, service_id bigint default 0, contact_object_id bigint default 0, CONSTRAINT PK_service_contact_id PRIMARY KEY (service_contact_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_statehistory -- CREATE TABLE icinga_statehistory ( statehistory_id bigserial, instance_id bigint default 0, state_time timestamp with time zone default '1970-01-01 00:00:00+00', state_time_usec INTEGER default 0, object_id bigint default 0, state_change INTEGER default 0, state INTEGER default 0, state_type INTEGER default 0, current_check_attempt INTEGER default 0, max_check_attempts INTEGER default 0, last_state INTEGER default '-1', last_hard_state INTEGER default '-1', output TEXT default '', long_output TEXT default '', check_source varchar(255) default '', CONSTRAINT PK_statehistory_id PRIMARY KEY (statehistory_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_systemcommands -- CREATE TABLE icinga_systemcommands ( systemcommand_id bigserial, instance_id bigint default 0, start_time timestamp with time zone default '1970-01-01 00:00:00+00', start_time_usec INTEGER default 0, end_time timestamp with time zone default '1970-01-01 00:00:00+00', end_time_usec INTEGER default 0, command_line TEXT default '', timeout INTEGER default 0, early_timeout INTEGER default 0, execution_time double precision default 0, return_code INTEGER default 0, output TEXT default '', long_output TEXT default '', CONSTRAINT PK_systemcommand_id PRIMARY KEY (systemcommand_id) , CONSTRAINT UQ_systemcommands UNIQUE (instance_id,start_time,start_time_usec) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_timeperiods -- CREATE TABLE icinga_timeperiods ( timeperiod_id bigserial, instance_id bigint default 0, config_type INTEGER default 0, timeperiod_object_id bigint default 0, alias TEXT default '', CONSTRAINT PK_timeperiod_id PRIMARY KEY (timeperiod_id) , CONSTRAINT UQ_timeperiods UNIQUE (instance_id,config_type,timeperiod_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_timeperiod_timeranges -- CREATE TABLE icinga_timeperiod_timeranges ( timeperiod_timerange_id bigserial, instance_id bigint default 0, timeperiod_id bigint default 0, day INTEGER default 0, start_sec INTEGER default 0, end_sec INTEGER default 0, CONSTRAINT PK_timeperiod_timerange_id PRIMARY KEY (timeperiod_timerange_id) ) ; -- -------------------------------------------------------- -- Icinga 2 specific schema extensions -- -------------------------------------------------------- -- -- Table structure for table icinga_endpoints -- CREATE TABLE icinga_endpoints ( endpoint_id bigserial, instance_id bigint default 0, endpoint_object_id bigint default 0, zone_object_id bigint default 0, config_type integer default 0, identity text DEFAULT NULL, node text DEFAULT NULL, CONSTRAINT PK_endpoint_id PRIMARY KEY (endpoint_id) , CONSTRAINT UQ_endpoints UNIQUE (instance_id,config_type,endpoint_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_endpointstatus -- CREATE TABLE icinga_endpointstatus ( endpointstatus_id bigserial, instance_id bigint default 0, endpoint_object_id bigint default 0, zone_object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', identity text DEFAULT NULL, node text DEFAULT NULL, is_connected integer default 0, CONSTRAINT PK_endpointstatus_id PRIMARY KEY (endpointstatus_id) , CONSTRAINT UQ_endpointstatus UNIQUE (endpoint_object_id) ) ; -- -- Table structure for table icinga_zones -- CREATE TABLE icinga_zones ( zone_id bigserial, instance_id bigint default 0, zone_object_id bigint default 0, parent_zone_object_id bigint default 0, config_type integer default 0, is_global integer default 0, CONSTRAINT PK_zone_id PRIMARY KEY (zone_id) , CONSTRAINT UQ_zones UNIQUE (instance_id,config_type,zone_object_id) ) ; -- -------------------------------------------------------- -- -- Table structure for table icinga_zonestatus -- CREATE TABLE icinga_zonestatus ( zonestatus_id bigserial, instance_id bigint default 0, zone_object_id bigint default 0, parent_zone_object_id bigint default 0, status_update_time timestamp with time zone default '1970-01-01 00:00:00+00', CONSTRAINT PK_zonestatus_id PRIMARY KEY (zonestatus_id) , CONSTRAINT UQ_zonestatus UNIQUE (zone_object_id) ) ; ALTER TABLE icinga_servicestatus ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_hoststatus ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_contactstatus ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_programstatus ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_comments ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_scheduleddowntime ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_runtimevariables ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_customvariablestatus ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_acknowledgements ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_commenthistory ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_contactnotifications ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_downtimehistory ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_eventhandlers ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_externalcommands ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_flappinghistory ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_hostchecks ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_logentries ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_notifications ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_processevents ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_servicechecks ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_statehistory ADD COLUMN endpoint_object_id bigint default NULL; ALTER TABLE icinga_systemcommands ADD COLUMN endpoint_object_id bigint default NULL; -- ----------------------------------------- -- add index (delete) -- ----------------------------------------- -- for periodic delete -- instance_id and -- TIMEDEVENTS => scheduled_time -- SYSTEMCOMMANDS, SERVICECHECKS, HOSTCHECKS, EVENTHANDLERS => start_time -- EXTERNALCOMMANDS => entry_time -- instance_id CREATE INDEX systemcommands_i_id_idx on icinga_systemcommands(instance_id); CREATE INDEX servicechecks_i_id_idx on icinga_servicechecks(instance_id); CREATE INDEX hostchecks_i_id_idx on icinga_hostchecks(instance_id); CREATE INDEX eventhandlers_i_id_idx on icinga_eventhandlers(instance_id); CREATE INDEX externalcommands_i_id_idx on icinga_externalcommands(instance_id); -- time CREATE INDEX systemcommands_time_id_idx on icinga_systemcommands(start_time); CREATE INDEX servicechecks_time_id_idx on icinga_servicechecks(start_time); CREATE INDEX hostchecks_time_id_idx on icinga_hostchecks(start_time); CREATE INDEX eventhandlers_time_id_idx on icinga_eventhandlers(start_time); CREATE INDEX externalcommands_time_id_idx on icinga_externalcommands(entry_time); -- for starting cleanup - referenced in dbhandler.c:882 -- instance_id only -- realtime data CREATE INDEX programstatus_i_id_idx on icinga_programstatus(instance_id); CREATE INDEX hoststatus_i_id_idx on icinga_hoststatus(instance_id); CREATE INDEX servicestatus_i_id_idx on icinga_servicestatus(instance_id); CREATE INDEX contactstatus_i_id_idx on icinga_contactstatus(instance_id); CREATE INDEX comments_i_id_idx on icinga_comments(instance_id); CREATE INDEX scheduleddowntime_i_id_idx on icinga_scheduleddowntime(instance_id); CREATE INDEX runtimevariables_i_id_idx on icinga_runtimevariables(instance_id); CREATE INDEX customvariablestatus_i_id_idx on icinga_customvariablestatus(instance_id); -- config data CREATE INDEX configfiles_i_id_idx on icinga_configfiles(instance_id); CREATE INDEX configfilevariables_i_id_idx on icinga_configfilevariables(instance_id); CREATE INDEX customvariables_i_id_idx on icinga_customvariables(instance_id); CREATE INDEX commands_i_id_idx on icinga_commands(instance_id); CREATE INDEX timeperiods_i_id_idx on icinga_timeperiods(instance_id); CREATE INDEX timeperiod_timeranges_i_id_idx on icinga_timeperiod_timeranges(instance_id); CREATE INDEX contactgroups_i_id_idx on icinga_contactgroups(instance_id); CREATE INDEX contactgroup_members_i_id_idx on icinga_contactgroup_members(instance_id); CREATE INDEX hostgroups_i_id_idx on icinga_hostgroups(instance_id); CREATE INDEX hostgroup_members_i_id_idx on icinga_hostgroup_members(instance_id); CREATE INDEX servicegroups_i_id_idx on icinga_servicegroups(instance_id); CREATE INDEX servicegroup_members_i_id_idx on icinga_servicegroup_members(instance_id); CREATE INDEX hostesc_i_id_idx on icinga_hostescalations(instance_id); CREATE INDEX hostesc_contacts_i_id_idx on icinga_hostescalation_contacts(instance_id); CREATE INDEX serviceesc_i_id_idx on icinga_serviceescalations(instance_id); CREATE INDEX serviceesc_contacts_i_id_idx on icinga_serviceescalation_contacts(instance_id); CREATE INDEX hostdependencies_i_id_idx on icinga_hostdependencies(instance_id); CREATE INDEX contacts_i_id_idx on icinga_contacts(instance_id); CREATE INDEX contact_addresses_i_id_idx on icinga_contact_addresses(instance_id); CREATE INDEX contact_notifcommands_i_id_idx on icinga_contact_notificationcommands(instance_id); CREATE INDEX hosts_i_id_idx on icinga_hosts(instance_id); CREATE INDEX host_parenthosts_i_id_idx on icinga_host_parenthosts(instance_id); CREATE INDEX host_contacts_i_id_idx on icinga_host_contacts(instance_id); CREATE INDEX services_i_id_idx on icinga_services(instance_id); CREATE INDEX service_contacts_i_id_idx on icinga_service_contacts(instance_id); CREATE INDEX service_contactgroups_i_id_idx on icinga_service_contactgroups(instance_id); CREATE INDEX host_contactgroups_i_id_idx on icinga_host_contactgroups(instance_id); CREATE INDEX hostesc_cgroups_i_id_idx on icinga_hostescalation_contactgroups(instance_id); CREATE INDEX serviceesc_cgroups_i_id_idx on icinga_serviceescalation_contactgroups(instance_id); -- ----------------------------------------- -- more index stuff (WHERE clauses) -- ----------------------------------------- -- hosts CREATE INDEX hosts_host_object_id_idx on icinga_hosts(host_object_id); -- hoststatus CREATE INDEX hoststatus_stat_upd_time_idx on icinga_hoststatus(status_update_time); CREATE INDEX hoststatus_current_state_idx on icinga_hoststatus(current_state); CREATE INDEX hoststatus_check_type_idx on icinga_hoststatus(check_type); CREATE INDEX hoststatus_state_type_idx on icinga_hoststatus(state_type); CREATE INDEX hoststatus_last_state_chg_idx on icinga_hoststatus(last_state_change); CREATE INDEX hoststatus_notif_enabled_idx on icinga_hoststatus(notifications_enabled); CREATE INDEX hoststatus_problem_ack_idx on icinga_hoststatus(problem_has_been_acknowledged); CREATE INDEX hoststatus_act_chks_en_idx on icinga_hoststatus(active_checks_enabled); CREATE INDEX hoststatus_pas_chks_en_idx on icinga_hoststatus(passive_checks_enabled); CREATE INDEX hoststatus_event_hdl_en_idx on icinga_hoststatus(event_handler_enabled); CREATE INDEX hoststatus_flap_det_en_idx on icinga_hoststatus(flap_detection_enabled); CREATE INDEX hoststatus_is_flapping_idx on icinga_hoststatus(is_flapping); CREATE INDEX hoststatus_p_state_chg_idx on icinga_hoststatus(percent_state_change); CREATE INDEX hoststatus_latency_idx on icinga_hoststatus(latency); CREATE INDEX hoststatus_ex_time_idx on icinga_hoststatus(execution_time); CREATE INDEX hoststatus_sch_downt_d_idx on icinga_hoststatus(scheduled_downtime_depth); -- services CREATE INDEX services_host_object_id_idx on icinga_services(host_object_id); --servicestatus CREATE INDEX srvcstatus_stat_upd_time_idx on icinga_servicestatus(status_update_time); CREATE INDEX srvcstatus_current_state_idx on icinga_servicestatus(current_state); CREATE INDEX srvcstatus_check_type_idx on icinga_servicestatus(check_type); CREATE INDEX srvcstatus_state_type_idx on icinga_servicestatus(state_type); CREATE INDEX srvcstatus_last_state_chg_idx on icinga_servicestatus(last_state_change); CREATE INDEX srvcstatus_notif_enabled_idx on icinga_servicestatus(notifications_enabled); CREATE INDEX srvcstatus_problem_ack_idx on icinga_servicestatus(problem_has_been_acknowledged); CREATE INDEX srvcstatus_act_chks_en_idx on icinga_servicestatus(active_checks_enabled); CREATE INDEX srvcstatus_pas_chks_en_idx on icinga_servicestatus(passive_checks_enabled); CREATE INDEX srvcstatus_event_hdl_en_idx on icinga_servicestatus(event_handler_enabled); CREATE INDEX srvcstatus_flap_det_en_idx on icinga_servicestatus(flap_detection_enabled); CREATE INDEX srvcstatus_is_flapping_idx on icinga_servicestatus(is_flapping); CREATE INDEX srvcstatus_p_state_chg_idx on icinga_servicestatus(percent_state_change); CREATE INDEX srvcstatus_latency_idx on icinga_servicestatus(latency); CREATE INDEX srvcstatus_ex_time_idx on icinga_servicestatus(execution_time); CREATE INDEX srvcstatus_sch_downt_d_idx on icinga_servicestatus(scheduled_downtime_depth); -- hostchecks CREATE INDEX hostchks_h_obj_id_idx on icinga_hostchecks(host_object_id); -- servicechecks CREATE INDEX servicechks_s_obj_id_idx on icinga_servicechecks(service_object_id); -- objects CREATE INDEX objects_objtype_id_idx ON icinga_objects(objecttype_id); CREATE INDEX objects_name1_idx ON icinga_objects(name1); CREATE INDEX objects_name2_idx ON icinga_objects(name2); CREATE INDEX objects_inst_id_idx ON icinga_objects(instance_id); -- instances -- CREATE INDEX instances_name_idx on icinga_instances(instance_name); -- logentries -- CREATE INDEX loge_instance_id_idx on icinga_logentries(instance_id); -- #236 CREATE INDEX loge_time_idx on icinga_logentries(logentry_time); -- CREATE INDEX loge_data_idx on icinga_logentries(logentry_data); CREATE INDEX loge_inst_id_time_idx on icinga_logentries (instance_id, logentry_time); -- commenthistory -- CREATE INDEX c_hist_instance_id_idx on icinga_logentries(instance_id); -- CREATE INDEX c_hist_c_time_idx on icinga_logentries(comment_time); -- CREATE INDEX c_hist_i_c_id_idx on icinga_logentries(internal_comment_id); -- downtimehistory -- CREATE INDEX d_t_hist_nstance_id_idx on icinga_downtimehistory(instance_id); -- CREATE INDEX d_t_hist_type_idx on icinga_downtimehistory(downtime_type); -- CREATE INDEX d_t_hist_object_id_idx on icinga_downtimehistory(object_id); -- CREATE INDEX d_t_hist_entry_time_idx on icinga_downtimehistory(entry_time); -- CREATE INDEX d_t_hist_sched_start_idx on icinga_downtimehistory(scheduled_start_time); -- CREATE INDEX d_t_hist_sched_end_idx on icinga_downtimehistory(scheduled_end_time); -- scheduleddowntime -- CREATE INDEX sched_d_t_downtime_type_idx on icinga_scheduleddowntime(downtime_type); -- CREATE INDEX sched_d_t_object_id_idx on icinga_scheduleddowntime(object_id); -- CREATE INDEX sched_d_t_entry_time_idx on icinga_scheduleddowntime(entry_time); -- CREATE INDEX sched_d_t_start_time_idx on icinga_scheduleddowntime(scheduled_start_time); -- CREATE INDEX sched_d_t_end_time_idx on icinga_scheduleddowntime(scheduled_end_time); -- Icinga Web Notifications CREATE INDEX notification_idx ON icinga_notifications(notification_type, object_id, start_time); CREATE INDEX notification_object_id_idx ON icinga_notifications(object_id); CREATE INDEX contact_notification_idx ON icinga_contactnotifications(notification_id, contact_object_id); CREATE INDEX contacts_object_id_idx ON icinga_contacts(contact_object_id); CREATE INDEX contact_notif_meth_notif_idx ON icinga_contactnotificationmethods(contactnotification_id, command_object_id); CREATE INDEX command_object_idx ON icinga_commands(object_id); CREATE INDEX services_combined_object_idx ON icinga_services(service_object_id, host_object_id); -- statehistory CREATE INDEX statehist_i_id_o_id_s_ty_s_ti on icinga_statehistory(instance_id, object_id, state_type, state_time); --#2274 create index statehist_state_idx on icinga_statehistory(object_id,state); -- #2618 CREATE INDEX cntgrpmbrs_cgid_coid ON icinga_contactgroup_members (contactgroup_id,contact_object_id); CREATE INDEX hstgrpmbrs_hgid_hoid ON icinga_hostgroup_members (hostgroup_id,host_object_id); CREATE INDEX hstcntgrps_hid_cgoid ON icinga_host_contactgroups (host_id,contactgroup_object_id); CREATE INDEX hstprnthsts_hid_phoid ON icinga_host_parenthosts (host_id,parent_host_object_id); CREATE INDEX runtimevars_iid_varn ON icinga_runtimevariables (instance_id,varname); CREATE INDEX sgmbrs_sgid_soid ON icinga_servicegroup_members (servicegroup_id,service_object_id); CREATE INDEX scgrps_sid_cgoid ON icinga_service_contactgroups (service_id,contactgroup_object_id); CREATE INDEX tperiod_tid_d_ss_es ON icinga_timeperiod_timeranges (timeperiod_id,day,start_sec,end_sec); -- #3649 CREATE INDEX sla_idx_sthist ON icinga_statehistory (object_id, state_time DESC); CREATE INDEX sla_idx_dohist ON icinga_downtimehistory (object_id, actual_start_time, actual_end_time); CREATE INDEX sla_idx_obj ON icinga_objects (objecttype_id, is_active, name1); -- #4985 CREATE INDEX commenthistory_delete_idx ON icinga_commenthistory (instance_id, comment_time, internal_comment_id); -- #10070 CREATE INDEX idx_comments_object_id on icinga_comments(object_id); CREATE INDEX idx_scheduleddowntime_object_id on icinga_scheduleddowntime(object_id); -- #10066 CREATE INDEX idx_endpoints_object_id on icinga_endpoints(endpoint_object_id); CREATE INDEX idx_endpointstatus_object_id on icinga_endpointstatus(endpoint_object_id); CREATE INDEX idx_endpoints_zone_object_id on icinga_endpoints(zone_object_id); CREATE INDEX idx_endpointstatus_zone_object_id on icinga_endpointstatus(zone_object_id); CREATE INDEX idx_zones_object_id on icinga_zones(zone_object_id); CREATE INDEX idx_zonestatus_object_id on icinga_zonestatus(zone_object_id); CREATE INDEX idx_zones_parent_object_id on icinga_zones(parent_zone_object_id); CREATE INDEX idx_zonestatus_parent_object_id on icinga_zonestatus(parent_zone_object_id); -- #12210 CREATE INDEX idx_hg_session_del ON icinga_hostgroup_members (instance_id, session_token); CREATE INDEX idx_sg_session_del ON icinga_servicegroup_members (instance_id, session_token); CREATE INDEX idx_cg_session_del ON icinga_contactgroup_members (instance_id, session_token); CREATE INDEX idx_comments_session_del ON icinga_comments (instance_id, session_token); CREATE INDEX idx_downtimes_session_del ON icinga_scheduleddowntime (instance_id, session_token); CREATE INDEX idx_cv_session_del ON icinga_customvariables (instance_id, session_token); CREATE INDEX idx_cvs_session_del ON icinga_customvariablestatus (instance_id, session_token); -- #12107 CREATE INDEX idx_statehistory_cleanup on icinga_statehistory(instance_id, state_time); -- ----------------------------------------- -- set dbversion -- ----------------------------------------- SELECT updatedbversion('1.14.1');