You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
315 lines
15 KiB
315 lines
15 KiB
-- This is the database schema for the 'APC UPS Scan Agent'. |
|
|
|
CREATE TABLE scan_apc_upses ( |
|
scan_apc_ups_uuid uuid not null primary key, |
|
scan_apc_ups_ups_uuid uuid not null, |
|
scan_apc_ups_serial_number text not null, |
|
scan_apc_ups_name text not null, |
|
scan_apc_ups_ip text not null, |
|
scan_apc_ups_ac_restore_delay numeric not null, |
|
scan_apc_ups_shutdown_delay numeric not null, |
|
scan_apc_ups_firmware_version text not null, |
|
scan_apc_ups_health numeric not null, |
|
scan_apc_ups_high_transfer_voltage numeric not null, |
|
scan_apc_ups_low_transfer_voltage numeric not null, |
|
scan_apc_ups_last_transfer_reason numeric not null, |
|
scan_apc_ups_manufactured_date text not null, |
|
scan_apc_ups_model text not null, |
|
scan_apc_ups_nmc_firmware_version text not null, |
|
scan_apc_ups_nmc_serial_number text not null, |
|
scan_apc_ups_nmc_mac_address text not null, |
|
modified_date timestamp with time zone not null, |
|
|
|
FOREIGN KEY(scan_apc_ups_ups_uuid) REFERENCES upses(ups_uuid) |
|
); |
|
ALTER TABLE scan_apc_upses OWNER TO admin; |
|
|
|
CREATE TABLE history.scan_apc_upses ( |
|
history_id bigserial, |
|
scan_apc_ups_uuid uuid, |
|
scan_apc_ups_ups_uuid uuid, |
|
scan_apc_ups_serial_number text, |
|
scan_apc_ups_name text, |
|
scan_apc_ups_ip text, |
|
scan_apc_ups_ac_restore_delay numeric, |
|
scan_apc_ups_shutdown_delay numeric, |
|
scan_apc_ups_firmware_version text, |
|
scan_apc_ups_health numeric, |
|
scan_apc_ups_high_transfer_voltage numeric, |
|
scan_apc_ups_low_transfer_voltage numeric, |
|
scan_apc_ups_last_transfer_reason numeric, |
|
scan_apc_ups_manufactured_date text, |
|
scan_apc_ups_model text, |
|
scan_apc_ups_nmc_firmware_version text, |
|
scan_apc_ups_nmc_serial_number text, |
|
scan_apc_ups_nmc_mac_address text, |
|
modified_date timestamp with time zone not null |
|
); |
|
ALTER TABLE history.scan_apc_upses OWNER TO admin; |
|
|
|
CREATE FUNCTION history_scan_apc_upses() RETURNS trigger |
|
AS $$ |
|
DECLARE |
|
history_scan_apc_upses RECORD; |
|
BEGIN |
|
SELECT INTO history_scan_apc_upses * FROM scan_apc_upses WHERE scan_apc_ups_uuid=new.scan_apc_ups_uuid; |
|
INSERT INTO history.scan_apc_upses |
|
(scan_apc_ups_uuid, |
|
scan_apc_ups_ups_uuid, |
|
scan_apc_ups_serial_number, |
|
scan_apc_ups_name, |
|
scan_apc_ups_ip, |
|
scan_apc_ups_ac_restore_delay, |
|
scan_apc_ups_shutdown_delay, |
|
scan_apc_ups_firmware_version, |
|
scan_apc_ups_health, |
|
scan_apc_ups_high_transfer_voltage, |
|
scan_apc_ups_low_transfer_voltage, |
|
scan_apc_ups_last_transfer_reason, |
|
scan_apc_ups_manufactured_date, |
|
scan_apc_ups_model, |
|
scan_apc_ups_nmc_firmware_version, |
|
scan_apc_ups_nmc_serial_number, |
|
scan_apc_ups_nmc_mac_address, |
|
modified_date) |
|
VALUES |
|
(history_scan_apc_upses.scan_apc_ups_uuid, |
|
history_scan_apc_upses.scan_apc_ups_ups_uuid, |
|
history_scan_apc_upses.scan_apc_ups_serial_number, |
|
history_scan_apc_upses.scan_apc_ups_name, |
|
history_scan_apc_upses.scan_apc_ups_ip, |
|
history_scan_apc_upses.scan_apc_ups_ac_restore_delay, |
|
history_scan_apc_upses.scan_apc_ups_shutdown_delay, |
|
history_scan_apc_upses.scan_apc_ups_firmware_version, |
|
history_scan_apc_upses.scan_apc_ups_health, |
|
history_scan_apc_upses.scan_apc_ups_high_transfer_voltage, |
|
history_scan_apc_upses.scan_apc_ups_low_transfer_voltage, |
|
history_scan_apc_upses.scan_apc_ups_last_transfer_reason, |
|
history_scan_apc_upses.scan_apc_ups_manufactured_date, |
|
history_scan_apc_upses.scan_apc_ups_model, |
|
history_scan_apc_upses.scan_apc_ups_nmc_firmware_version, |
|
history_scan_apc_upses.scan_apc_ups_nmc_serial_number, |
|
history_scan_apc_upses.scan_apc_ups_nmc_mac_address, |
|
history_scan_apc_upses.modified_date); |
|
RETURN NULL; |
|
END; |
|
$$ |
|
LANGUAGE plpgsql; |
|
ALTER FUNCTION history_scan_apc_upses() OWNER TO admin; |
|
|
|
CREATE TRIGGER trigger_scan_apc_upses |
|
AFTER INSERT OR UPDATE ON scan_apc_upses |
|
FOR EACH ROW EXECUTE PROCEDURE history_scan_apc_upses(); |
|
|
|
|
|
-- Battery stuff |
|
CREATE TABLE scan_apc_ups_batteries ( |
|
scan_apc_ups_battery_uuid uuid not null primary key, |
|
scan_apc_ups_battery_scan_apc_ups_uuid uuid not null, |
|
scan_apc_ups_battery_number numeric not null, |
|
scan_apc_ups_battery_next_replacement_date text not null, |
|
scan_apc_ups_battery_health numeric not null, |
|
scan_apc_ups_battery_model text not null, |
|
scan_apc_ups_battery_percentage_charge numeric not null, |
|
scan_apc_ups_battery_last_replacement_date text not null, |
|
scan_apc_ups_battery_state numeric not null, |
|
scan_apc_ups_battery_temperature numeric not null, |
|
scan_apc_ups_battery_alarm_temperature numeric not null, |
|
scan_apc_ups_battery_voltage numeric not null, |
|
modified_date timestamp with time zone not null, |
|
|
|
FOREIGN KEY(scan_apc_ups_battery_scan_apc_ups_uuid) REFERENCES scan_apc_upses(scan_apc_ups_uuid) |
|
); |
|
ALTER TABLE scan_apc_ups_batteries OWNER TO admin; |
|
|
|
CREATE TABLE history.scan_apc_ups_batteries ( |
|
history_id bigserial, |
|
scan_apc_ups_battery_uuid uuid, |
|
scan_apc_ups_battery_scan_apc_ups_uuid uuid, |
|
scan_apc_ups_battery_number numeric, |
|
scan_apc_ups_battery_next_replacement_date text, |
|
scan_apc_ups_battery_health numeric, |
|
scan_apc_ups_battery_model text, |
|
scan_apc_ups_battery_percentage_charge numeric, |
|
scan_apc_ups_battery_last_replacement_date text, |
|
scan_apc_ups_battery_state numeric, |
|
scan_apc_ups_battery_temperature numeric, |
|
scan_apc_ups_battery_alarm_temperature numeric, |
|
scan_apc_ups_battery_voltage numeric, |
|
modified_date timestamp with time zone not null |
|
); |
|
ALTER TABLE history.scan_apc_ups_batteries OWNER TO admin; |
|
|
|
CREATE FUNCTION history_scan_apc_ups_batteries() RETURNS trigger |
|
AS $$ |
|
DECLARE |
|
history_scan_apc_ups_batteries RECORD; |
|
BEGIN |
|
SELECT INTO history_scan_apc_ups_batteries * FROM scan_apc_ups_batteries WHERE scan_apc_ups_battery_uuid=new.scan_apc_ups_battery_uuid; |
|
INSERT INTO history.scan_apc_ups_batteries |
|
(scan_apc_ups_battery_uuid, |
|
scan_apc_ups_battery_scan_apc_ups_uuid, |
|
scan_apc_ups_battery_number, |
|
scan_apc_ups_battery_next_replacement_date, |
|
scan_apc_ups_battery_health, |
|
scan_apc_ups_battery_model, |
|
scan_apc_ups_battery_percentage_charge, |
|
scan_apc_ups_battery_last_replacement_date, |
|
scan_apc_ups_battery_state, |
|
scan_apc_ups_battery_temperature, |
|
scan_apc_ups_battery_alarm_temperature, |
|
scan_apc_ups_battery_voltage, |
|
modified_date) |
|
VALUES |
|
(history_scan_apc_ups_batteries.scan_apc_ups_battery_uuid, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_scan_apc_ups_uuid, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_number, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_next_replacement_date, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_health, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_model, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_percentage_charge, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_last_replacement_date, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_state, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_temperature, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_alarm_temperature, |
|
history_scan_apc_ups_batteries.scan_apc_ups_battery_voltage, |
|
history_scan_apc_ups_batteries.modified_date); |
|
RETURN NULL; |
|
END; |
|
$$ |
|
LANGUAGE plpgsql; |
|
ALTER FUNCTION history_scan_apc_ups_batteries() OWNER TO admin; |
|
|
|
CREATE TRIGGER trigger_scan_apc_ups_batteries |
|
AFTER INSERT OR UPDATE ON scan_apc_ups_batteries |
|
FOR EACH ROW EXECUTE PROCEDURE history_scan_apc_ups_batteries(); |
|
|
|
|
|
-- Input power |
|
CREATE TABLE scan_apc_ups_input ( |
|
scan_apc_ups_input_uuid uuid not null primary key, |
|
scan_apc_ups_input_scan_apc_ups_uuid uuid not null, |
|
scan_apc_ups_input_frequency numeric not null, |
|
scan_apc_ups_input_sensitivity numeric not null, |
|
scan_apc_ups_input_voltage numeric not null, |
|
scan_apc_ups_input_1m_maximum_input_voltage numeric not null, |
|
scan_apc_ups_input_1m_minimum_input_voltage numeric not null, |
|
modified_date timestamp with time zone not null, |
|
|
|
FOREIGN KEY(scan_apc_ups_input_scan_apc_ups_uuid) REFERENCES scan_apc_upses(scan_apc_ups_uuid) |
|
); |
|
ALTER TABLE scan_apc_ups_input OWNER TO admin; |
|
|
|
CREATE TABLE history.scan_apc_ups_input ( |
|
history_id bigserial, |
|
scan_apc_ups_input_uuid uuid, |
|
scan_apc_ups_input_scan_apc_ups_uuid uuid, |
|
scan_apc_ups_input_frequency numeric, |
|
scan_apc_ups_input_sensitivity numeric, |
|
scan_apc_ups_input_voltage numeric, |
|
scan_apc_ups_input_1m_maximum_input_voltage numeric, |
|
scan_apc_ups_input_1m_minimum_input_voltage numeric, |
|
modified_date timestamp with time zone not null |
|
); |
|
ALTER TABLE history.scan_apc_ups_input OWNER TO admin; |
|
|
|
CREATE FUNCTION history_scan_apc_ups_input() RETURNS trigger |
|
AS $$ |
|
DECLARE |
|
history_scan_apc_ups_input RECORD; |
|
BEGIN |
|
SELECT INTO history_scan_apc_ups_input * FROM scan_apc_ups_input WHERE scan_apc_ups_input_uuid=new.scan_apc_ups_input_uuid; |
|
INSERT INTO history.scan_apc_ups_input |
|
(scan_apc_ups_input_uuid, |
|
scan_apc_ups_input_scan_apc_ups_uuid, |
|
scan_apc_ups_input_frequency, |
|
scan_apc_ups_input_sensitivity, |
|
scan_apc_ups_input_voltage, |
|
scan_apc_ups_input_1m_maximum_input_voltage, |
|
scan_apc_ups_input_1m_minimum_input_voltage, |
|
modified_date) |
|
VALUES |
|
(history_scan_apc_ups_input.scan_apc_ups_input_uuid, |
|
history_scan_apc_ups_input.scan_apc_ups_input_scan_apc_ups_uuid, |
|
history_scan_apc_ups_input.scan_apc_ups_input_frequency, |
|
history_scan_apc_ups_input.scan_apc_ups_input_sensitivity, |
|
history_scan_apc_ups_input.scan_apc_ups_input_voltage, |
|
history_scan_apc_ups_input.scan_apc_ups_input_1m_maximum_input_voltage, |
|
history_scan_apc_ups_input.scan_apc_ups_input_1m_minimum_input_voltage, |
|
history_scan_apc_ups_input.modified_date); |
|
RETURN NULL; |
|
END; |
|
$$ |
|
LANGUAGE plpgsql; |
|
ALTER FUNCTION history_scan_apc_ups_input() OWNER TO admin; |
|
|
|
CREATE TRIGGER trigger_scan_apc_ups_input |
|
AFTER INSERT OR UPDATE ON scan_apc_ups_input |
|
FOR EACH ROW EXECUTE PROCEDURE history_scan_apc_ups_input(); |
|
|
|
|
|
-- Output power |
|
CREATE TABLE scan_apc_ups_output ( |
|
scan_apc_ups_output_uuid uuid not null primary key, |
|
scan_apc_ups_output_scan_apc_ups_uuid uuid not null, |
|
scan_apc_ups_output_load_percentage numeric not null, |
|
scan_apc_ups_output_time_on_batteries numeric not null, |
|
scan_apc_ups_output_estimated_runtime numeric not null, |
|
scan_apc_ups_output_frequency numeric not null, |
|
scan_apc_ups_output_voltage numeric not null, |
|
scan_apc_ups_output_total_output numeric not null, |
|
modified_date timestamp with time zone not null, |
|
|
|
FOREIGN KEY(scan_apc_ups_output_scan_apc_ups_uuid) REFERENCES scan_apc_upses(scan_apc_ups_uuid) |
|
); |
|
ALTER TABLE scan_apc_ups_output OWNER TO admin; |
|
|
|
CREATE TABLE history.scan_apc_ups_output ( |
|
history_id bigserial, |
|
scan_apc_ups_output_uuid uuid, |
|
scan_apc_ups_output_scan_apc_ups_uuid uuid, |
|
scan_apc_ups_output_load_percentage numeric, |
|
scan_apc_ups_output_time_on_batteries numeric, |
|
scan_apc_ups_output_estimated_runtime numeric, |
|
scan_apc_ups_output_frequency numeric, |
|
scan_apc_ups_output_voltage numeric, |
|
scan_apc_ups_output_total_output numeric, |
|
modified_date timestamp with time zone not null |
|
); |
|
ALTER TABLE history.scan_apc_ups_output OWNER TO admin; |
|
|
|
CREATE FUNCTION history_scan_apc_ups_output() RETURNS trigger |
|
AS $$ |
|
DECLARE |
|
history_scan_apc_ups_output RECORD; |
|
BEGIN |
|
SELECT INTO history_scan_apc_ups_output * FROM scan_apc_ups_output WHERE scan_apc_ups_output_uuid=new.scan_apc_ups_output_uuid; |
|
INSERT INTO history.scan_apc_ups_output |
|
(scan_apc_ups_output_uuid, |
|
scan_apc_ups_output_scan_apc_ups_uuid, |
|
scan_apc_ups_output_load_percentage, |
|
scan_apc_ups_output_time_on_batteries, |
|
scan_apc_ups_output_estimated_runtime, |
|
scan_apc_ups_output_frequency, |
|
scan_apc_ups_output_voltage, |
|
scan_apc_ups_output_total_output, |
|
modified_date) |
|
VALUES |
|
(history_scan_apc_ups_output.scan_apc_ups_output_uuid, |
|
history_scan_apc_ups_output.scan_apc_ups_output_scan_apc_ups_uuid, |
|
history_scan_apc_ups_output.scan_apc_ups_output_load_percentage, |
|
history_scan_apc_ups_output.scan_apc_ups_output_time_on_batteries, |
|
history_scan_apc_ups_output.scan_apc_ups_output_estimated_runtime, |
|
history_scan_apc_ups_output.scan_apc_ups_output_frequency, |
|
history_scan_apc_ups_output.scan_apc_ups_output_voltage, |
|
history_scan_apc_ups_output.scan_apc_ups_output_total_output, |
|
history_scan_apc_ups_output.modified_date); |
|
RETURN NULL; |
|
END; |
|
$$ |
|
LANGUAGE plpgsql; |
|
ALTER FUNCTION history_scan_apc_ups_output() OWNER TO admin; |
|
|
|
CREATE TRIGGER trigger_scan_apc_ups_output |
|
AFTER INSERT OR UPDATE ON scan_apc_ups_output |
|
FOR EACH ROW EXECUTE PROCEDURE history_scan_apc_ups_output();
|
|
|