-- -- PostgreSQL database dump -- -- Dumped from database version 16.3 -- Dumped by pg_dump version 16.3 SET statement_timeout = 0; SET lock_timeout = 0; SET idle_in_transaction_session_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SELECT pg_catalog.set_config('search_path', '', false); SET check_function_bodies = false; SET xmloption = content; SET client_min_messages = warning; SET row_security = off; -- -- Name: citext; Type: EXTENSION; Schema: -; Owner: - -- CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA public; -- -- Name: EXTENSION citext; Type: COMMENT; Schema: -; Owner: - -- COMMENT ON EXTENSION citext IS 'data type for case-insensitive character strings'; -- -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: - -- CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; -- -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: - -- COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams'; -- -- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: - -- CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public; -- -- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: - -- COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)'; -- -- Name: qms_set_updated_at(); Type: FUNCTION; Schema: public; Owner: - -- CREATE FUNCTION public.qms_set_updated_at() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN NEW.updated_at = now(); RETURN NEW; END; $$; -- -- Name: update_domenv_count(); Type: FUNCTION; Schema: public; Owner: - -- CREATE FUNCTION public.update_domenv_count() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE' THEN UPDATE domain_environments SET nb_servers = ( SELECT COUNT(*) FROM servers WHERE domain_env_id = NEW.domain_env_id ) WHERE id = NEW.domain_env_id; END IF; IF TG_OP = 'DELETE' OR TG_OP = 'UPDATE' THEN UPDATE domain_environments SET nb_servers = ( SELECT COUNT(*) FROM servers WHERE domain_env_id = OLD.domain_env_id ) WHERE id = OLD.domain_env_id; END IF; RETURN NULL; END; $$; -- -- Name: update_timestamp(); Type: FUNCTION; Schema: public; Owner: - -- CREATE FUNCTION public.update_timestamp() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN NEW.updated_at = now(); RETURN NEW; END; $$; SET default_tablespace = ''; SET default_table_access_method = heap; -- -- Name: allowed_networks; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.allowed_networks ( id integer NOT NULL, cidr character varying(50) NOT NULL, description character varying(200), is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: allowed_networks_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.allowed_networks_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: allowed_networks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.allowed_networks_id_seq OWNED BY public.allowed_networks.id; -- -- Name: app_map; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.app_map ( id integer NOT NULL, app_name character varying(200) NOT NULL, app_type character varying(50), description text, servers jsonb DEFAULT '[]'::jsonb, ports jsonb DEFAULT '[]'::jsonb, flows jsonb DEFAULT '[]'::jsonb, last_scan timestamp with time zone, created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now() ); -- -- Name: app_map_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.app_map_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: app_map_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.app_map_id_seq OWNED BY public.app_map.id; -- -- Name: app_secrets; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.app_secrets ( key character varying(100) NOT NULL, value text NOT NULL, description character varying(255), updated_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: applications; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.applications ( id integer NOT NULL, nom_court character varying(50) NOT NULL, nom_complet character varying(200), description text, editeur character varying(100), criticite character varying(10) DEFAULT 'standard'::character varying, need_pre_stop boolean DEFAULT false NOT NULL, pre_stop_cmd text, post_start_cmd text, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, itop_id integer, status character varying(30), responsable_dsi_nom character varying(200), responsable_dsi_email character varying(255), admin_tech_nom character varying(200), admin_tech_email character varying(255), etat character varying(30), ioda_libelle character varying(200), ioda_lib_court character varying(50), ioda_code_pos character varying(20), ioda_type character varying(50), ioda_statut character varying(50), ioda_alias text, ioda_perimetre character varying(100), ioda_dept_domaine character varying(200), ioda_resp_metier character varying(100), ioda_resp_dsi character varying(100), ioda_nb_components integer, ioda_commentaire text, ioda_imported_at timestamp with time zone, CONSTRAINT applications_criticite_check CHECK (((criticite)::text = ANY (ARRAY[('critique'::character varying)::text, ('haute'::character varying)::text, ('standard'::character varying)::text, ('basse'::character varying)::text]))) ); -- -- Name: TABLE applications; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.applications IS 'Catalogue applications — permet pre/post scripts par app'; -- -- Name: COLUMN applications.ioda_libelle; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.applications.ioda_libelle IS 'Libellé service métier IODA (clé d''import)'; -- -- Name: COLUMN applications.ioda_code_pos; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.applications.ioda_code_pos IS 'Code zone POS IODA (TRA, ADV, …)'; -- -- Name: COLUMN applications.ioda_resp_metier; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.applications.ioda_resp_metier IS 'Responsable Service Métier (à notifier patching)'; -- -- Name: COLUMN applications.ioda_resp_dsi; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.applications.ioda_resp_dsi IS 'Responsable Service DSI (à notifier patching)'; -- -- Name: applications_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.applications_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: applications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.applications_id_seq OWNED BY public.applications.id; -- -- Name: audit_log; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.audit_log ( id bigint NOT NULL, "timestamp" timestamp with time zone DEFAULT now() NOT NULL, user_id integer, username character varying(50), action character varying(50) NOT NULL, entity_type character varying(30), entity_id integer, details jsonb, ip_address inet ); -- -- Name: audit_log_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.audit_log_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: audit_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.audit_log_id_seq OWNED BY public.audit_log.id; -- -- Name: campaign_accord_details; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.campaign_accord_details ( id integer NOT NULL, accord_id integer NOT NULL, session_id integer NOT NULL, decision character varying(20) DEFAULT 'approved'::character varying NOT NULL, reason text, CONSTRAINT campaign_accord_details_decision_check CHECK (((decision)::text = ANY (ARRAY[('approved'::character varying)::text, ('rejected'::character varying)::text, ('reported'::character varying)::text]))) ); -- -- Name: campaign_accord_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.campaign_accord_details_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: campaign_accord_details_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.campaign_accord_details_id_seq OWNED BY public.campaign_accord_details.id; -- -- Name: campaign_accords; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.campaign_accords ( id integer NOT NULL, campaign_id integer NOT NULL, contact_id integer NOT NULL, status character varying(20) DEFAULT 'pending'::character varying NOT NULL, response_date timestamp with time zone, comment text, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT campaign_accords_status_check CHECK (((status)::text = ANY (ARRAY[('pending'::character varying)::text, ('approved'::character varying)::text, ('partial'::character varying)::text, ('rejected'::character varying)::text, ('reported'::character varying)::text]))) ); -- -- Name: campaign_accords_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.campaign_accords_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: campaign_accords_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.campaign_accords_id_seq OWNED BY public.campaign_accords.id; -- -- Name: campaign_operator_limits; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.campaign_operator_limits ( id integer NOT NULL, campaign_id integer NOT NULL, user_id integer NOT NULL, max_servers integer DEFAULT 0 NOT NULL, note text ); -- -- Name: campaign_operator_limits_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.campaign_operator_limits_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: campaign_operator_limits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.campaign_operator_limits_id_seq OWNED BY public.campaign_operator_limits.id; -- -- Name: campaigns; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.campaigns ( id integer NOT NULL, week_code character varying(10) NOT NULL, year integer DEFAULT EXTRACT(year FROM now()) NOT NULL, label character varying(100), status character varying(20) DEFAULT 'draft'::character varying NOT NULL, date_start date, date_end date, total_servers integer DEFAULT 0, patched_ok integer DEFAULT 0, patched_ko integer DEFAULT 0, pending integer DEFAULT 0, created_by integer, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, campaign_type character varying(20) DEFAULT 'standard'::character varying NOT NULL, CONSTRAINT campaigns_campaign_type_check CHECK (((campaign_type)::text = ANY (ARRAY[('standard'::character varying)::text, ('quickwin'::character varying)::text, ('safe_patching'::character varying)::text]))), CONSTRAINT campaigns_status_check CHECK (((status)::text = ANY (ARRAY[('draft'::character varying)::text, ('pending_validation'::character varying)::text, ('planned'::character varying)::text, ('in_progress'::character varying)::text, ('completed'::character varying)::text, ('cancelled'::character varying)::text]))) ); -- -- Name: campaigns_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.campaigns_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: campaigns_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.campaigns_id_seq OWNED BY public.campaigns.id; -- -- Name: chassis; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.chassis ( id integer NOT NULL, hostname public.citext NOT NULL, fqdn character varying(255), site character varying(100), domain_ltd character varying(50), description text, responsable_nom text, moved_from_server_id integer, created_at timestamp with time zone DEFAULT now() ); -- -- Name: chassis_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.chassis_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: chassis_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.chassis_id_seq OWNED BY public.chassis.id; -- -- Name: cluster_members; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.cluster_members ( id integer NOT NULL, cluster_id integer NOT NULL, server_id integer NOT NULL, patch_order integer DEFAULT 1 NOT NULL, is_active boolean DEFAULT true NOT NULL ); -- -- Name: cluster_members_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.cluster_members_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: cluster_members_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.cluster_members_id_seq OWNED BY public.cluster_members.id; -- -- Name: clusters; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.clusters ( id integer NOT NULL, name character varying(100) NOT NULL, description text, patch_strategy character varying(20) DEFAULT 'sequential'::character varying NOT NULL, max_parallel integer DEFAULT 1 NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT clusters_patch_strategy_check CHECK (((patch_strategy)::text = ANY (ARRAY[('sequential'::character varying)::text, ('rolling'::character varying)::text, ('parallel'::character varying)::text]))) ); -- -- Name: TABLE clusters; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.clusters IS 'Groupes de serveurs avec ordre de patching (ex: Satellite SAT1 avant SAT2)'; -- -- Name: clusters_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.clusters_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: clusters_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.clusters_id_seq OWNED BY public.clusters.id; -- -- Name: contact_scopes; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.contact_scopes ( id integer NOT NULL, contact_id integer NOT NULL, scope_type character varying(20) NOT NULL, scope_value character varying(100) NOT NULL, env_scope character varying(20) DEFAULT 'all'::character varying, CONSTRAINT contact_scopes_scope_type_check CHECK (((scope_type)::text = ANY (ARRAY[('domain'::character varying)::text, ('application'::character varying)::text, ('server'::character varying)::text, ('app_group'::character varying)::text, ('zone'::character varying)::text]))) ); -- -- Name: contact_scopes_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.contact_scopes_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: contact_scopes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.contact_scopes_id_seq OWNED BY public.contact_scopes.id; -- -- Name: contacts; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.contacts ( id integer NOT NULL, name character varying(150) NOT NULL, email character varying(255) NOT NULL, role character varying(30) DEFAULT 'responsable'::character varying NOT NULL, is_active boolean DEFAULT false NOT NULL, is_verified boolean DEFAULT false NOT NULL, portal_token character varying(100), portal_token_expires timestamp with time zone, last_portal_access timestamp with time zone, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, itop_id integer, telephone character varying(50), team character varying(100), function character varying(200), CONSTRAINT contacts_role_check CHECK (((role)::text = ANY (ARRAY[('responsable_domaine'::character varying)::text, ('responsable_prod'::character varying)::text, ('responsable_applicatif'::character varying)::text, ('referent_technique'::character varying)::text, ('chef_projet'::character varying)::text, ('editeur'::character varying)::text, ('ra_prod'::character varying)::text, ('ra_recette'::character varying)::text, ('ra_preprod'::character varying)::text, ('ra_test'::character varying)::text, ('ra_dev'::character varying)::text, ('contact_technique'::character varying)::text, ('autre'::character varying)::text]))) ); -- -- Name: contacts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.contacts_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: contacts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.contacts_id_seq OWNED BY public.contacts.id; -- -- Name: default_assignments; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.default_assignments ( id integer NOT NULL, rule_type character varying(20) NOT NULL, rule_value character varying(100) NOT NULL, user_id integer NOT NULL, priority integer DEFAULT 10 NOT NULL, note text, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT default_assignments_rule_type_check CHECK (((rule_type)::text = ANY (ARRAY[('server'::character varying)::text, ('app_type'::character varying)::text, ('app_group'::character varying)::text, ('domain'::character varying)::text, ('zone'::character varying)::text]))) ); -- -- Name: default_assignments_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.default_assignments_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: default_assignments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.default_assignments_id_seq OWNED BY public.default_assignments.id; -- -- Name: domain_environments; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.domain_environments ( id integer NOT NULL, domain_id integer NOT NULL, environment_id integer NOT NULL, responsable_nom character varying(100), responsable_email character varying(255), referent_nom character varying(100), referent_email character varying(255), patch_window character varying(100), patch_excludes text, nb_servers integer DEFAULT 0, is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: TABLE domain_environments; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.domain_environments IS 'Combinaison domaine+env avec responsables spécifiques'; -- -- Name: domain_environments_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.domain_environments_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: domain_environments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.domain_environments_id_seq OWNED BY public.domain_environments.id; -- -- Name: domain_ltd_list; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.domain_ltd_list ( id integer NOT NULL, name character varying NOT NULL, description text, is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: domain_ltd_list_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.domain_ltd_list_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: domain_ltd_list_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.domain_ltd_list_id_seq OWNED BY public.domain_ltd_list.id; -- -- Name: domain_responsables; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.domain_responsables ( id integer NOT NULL, domain_id integer NOT NULL, nom character varying(100) NOT NULL, email character varying(255), telephone character varying(20), role_resp character varying(50) DEFAULT 'responsable'::character varying, is_primary boolean DEFAULT false NOT NULL, is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT domain_responsables_role_resp_check CHECK (((role_resp)::text = ANY (ARRAY[('responsable'::character varying)::text, ('adjoint'::character varying)::text, ('referent'::character varying)::text]))) ); -- -- Name: domain_responsables_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.domain_responsables_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: domain_responsables_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.domain_responsables_id_seq OWNED BY public.domain_responsables.id; -- -- Name: domains; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.domains ( id integer NOT NULL, name character varying(50) NOT NULL, code character varying(10) NOT NULL, description text, default_excludes text, default_patch_window character varying(100), default_patch_frequency character varying(20) DEFAULT 'monthly'::character varying, teams_webhook_url character varying(500), teams_sharepoint_folder character varying(100), display_order integer DEFAULT 0 NOT NULL, is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.domains_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.domains_id_seq OWNED BY public.domains.id; -- -- Name: environments; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.environments ( id integer NOT NULL, name character varying(50) NOT NULL, code character varying(10) NOT NULL, ssh_method character varying(20) DEFAULT 'ssh_key'::character varying NOT NULL, requires_approval boolean DEFAULT false NOT NULL, approval_level character varying(20) DEFAULT 'operator'::character varying, display_order integer DEFAULT 0 NOT NULL, is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT environments_approval_level_check CHECK (((approval_level)::text = ANY (ARRAY[('operator'::character varying)::text, ('secops'::character varying)::text, ('dsi'::character varying)::text]))), CONSTRAINT environments_ssh_method_check CHECK (((ssh_method)::text = ANY (ARRAY[('ssh_key'::character varying)::text, ('ssh_pwd'::character varying)::text, ('ssh_psmp'::character varying)::text, ('rdp_psm'::character varying)::text, ('rdp_pwd'::character varying)::text]))) ); -- -- Name: environments_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.environments_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: environments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.environments_id_seq OWNED BY public.environments.id; -- -- Name: eol_references; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.eol_references ( id integer NOT NULL, os_pattern character varying(100) NOT NULL, eol_date date NOT NULL, els_date date, status character varying(10) NOT NULL, notes text, CONSTRAINT eol_references_status_check CHECK (((status)::text = ANY (ARRAY[('eol'::character varying)::text, ('els'::character varying)::text, ('active'::character varying)::text]))) ); -- -- Name: eol_references_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.eol_references_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: eol_references_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.eol_references_id_seq OWNED BY public.eol_references.id; -- -- Name: hypervisors; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.hypervisors ( id integer NOT NULL, hostname public.citext NOT NULL, fqdn character varying(255), cluster_name character varying(100), underlying_server character varying(100), site character varying(100), domain_ltd character varying(50), description text, responsable_nom text, moved_from_server_id integer, created_at timestamp with time zone DEFAULT now(), kind character varying(20) DEFAULT 'hypervisor'::character varying ); -- -- Name: hypervisors_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.hypervisors_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: hypervisors_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.hypervisors_id_seq OWNED BY public.hypervisors.id; -- -- Name: import_history; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.import_history ( id integer NOT NULL, source character varying(50) NOT NULL, filename character varying(255), imported_by integer, imported_at timestamp with time zone DEFAULT now() NOT NULL, total_rows integer DEFAULT 0, created_count integer DEFAULT 0, updated_count integer DEFAULT 0, skipped_count integer DEFAULT 0, error_count integer DEFAULT 0, errors jsonb, status character varying(20) DEFAULT 'completed'::character varying ); -- -- Name: import_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.import_history_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: import_history_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.import_history_id_seq OWNED BY public.import_history.id; -- -- Name: network_flow_map; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.network_flow_map ( id integer NOT NULL, audit_id integer, source_server_id integer, source_hostname character varying(200), source_ip character varying(50), dest_ip character varying(50), dest_port integer, dest_hostname character varying(200), dest_server_id integer, process_name character varying(150), process_user character varying(50), service_name character varying(50), direction character varying(10), connection_count integer DEFAULT 1, state character varying(20), audit_date timestamp with time zone DEFAULT now() ); -- -- Name: network_flow_map_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.network_flow_map_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: network_flow_map_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.network_flow_map_id_seq OWNED BY public.network_flow_map.id; -- -- Name: patch_history; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.patch_history ( id integer NOT NULL, server_id integer NOT NULL, campaign_id integer, intervenant_id integer, date_patch timestamp with time zone NOT NULL, status character varying(20) NOT NULL, command text, packages_updated integer DEFAULT 0, reboot_done boolean DEFAULT false, snapshot_name character varying(200), notes text, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: TABLE patch_history; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.patch_history IS 'Historique résumé — alimenté automatiquement après chaque campagne'; -- -- Name: patch_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.patch_history_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: patch_history_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.patch_history_id_seq OWNED BY public.patch_history.id; -- -- Name: patch_planning; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.patch_planning ( id integer NOT NULL, year integer NOT NULL, week_number integer NOT NULL, week_code character varying(5) NOT NULL, week_start date NOT NULL, week_end date NOT NULL, cycle integer, domain_code character varying(20), env_scope character varying(20) DEFAULT 'all'::character varying NOT NULL, status character varying(20) DEFAULT 'open'::character varying NOT NULL, note text, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT patch_planning_env_scope_check CHECK (((env_scope)::text = ANY (ARRAY[('prod'::character varying)::text, ('hprod'::character varying)::text, ('all'::character varying)::text, ('pilot'::character varying)::text, ('prod_pilot'::character varying)::text]))), CONSTRAINT patch_planning_status_check CHECK (((status)::text = ANY (ARRAY[('open'::character varying)::text, ('freeze'::character varying)::text, ('holiday'::character varying)::text, ('empty'::character varying)::text]))) ); -- -- Name: patch_planning_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.patch_planning_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: patch_planning_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.patch_planning_id_seq OWNED BY public.patch_planning.id; -- -- Name: patch_sessions; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.patch_sessions ( id integer NOT NULL, campaign_id integer NOT NULL, server_id integer NOT NULL, intervenant_id integer, date_prevue timestamp with time zone, duree_estimee character varying(20), accord_responsable boolean DEFAULT false, date_report timestamp with time zone, motif_report text, prereq_ssh character varying(10) DEFAULT 'pending'::character varying, prereq_disk_root integer, prereq_disk_log integer, prereq_satellite character varying(10) DEFAULT 'pending'::character varying, prereq_date timestamp with time zone, snapshot_name character varying(200), snapshot_created boolean DEFAULT false, snapshot_forced boolean DEFAULT false, snapshot_justif text, snapshot_date timestamp with time zone, patch_command text, patch_output text, pb_espace_disque boolean DEFAULT false, status character varying(20) DEFAULT 'pending'::character varying NOT NULL, date_realise timestamp with time zone, reboot_required boolean DEFAULT false, reboot_date timestamp with time zone, packages_before text, packages_after text, packages_updated integer DEFAULT 0, postcheck_services character varying(10) DEFAULT 'pending'::character varying, postcheck_ports character varying(10) DEFAULT 'pending'::character varying, postcheck_date timestamp with time zone, notif_debut_sent boolean DEFAULT false, notif_reboot_sent boolean DEFAULT false, notif_fin_sent boolean DEFAULT false, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, exclusion_reason character varying(30), exclusion_detail text, excluded_by character varying(100), excluded_at timestamp with time zone, rollback_method character varying(20), rollback_justif text, prereq_validated boolean DEFAULT false NOT NULL, prereq_validated_by character varying(100), prereq_validated_at timestamp with time zone, prereq_disk_root_mb integer, prereq_disk_var_mb integer, prereq_disk_ok boolean, heure_prevue character varying(20), assigned_at timestamp with time zone, forced_assignment boolean DEFAULT false NOT NULL, state_before jsonb, state_after jsonb, state_diff jsonb, note text, CONSTRAINT patch_sessions_exclusion_check CHECK (((exclusion_reason IS NULL) OR ((exclusion_reason)::text = ANY (ARRAY[('eol'::character varying)::text, ('creneau_inadequat'::character varying)::text, ('intervention_non_secops'::character varying)::text, ('report_cycle'::character varying)::text, ('non_patchable'::character varying)::text, ('autre'::character varying)::text])))), CONSTRAINT patch_sessions_postcheck_services_check CHECK (((postcheck_services)::text = ANY (ARRAY[('pending'::character varying)::text, ('ok'::character varying)::text, ('ko'::character varying)::text, ('skip'::character varying)::text]))), CONSTRAINT patch_sessions_prereq_satellite_check CHECK (((prereq_satellite)::text = ANY (ARRAY[('pending'::character varying)::text, ('ok'::character varying)::text, ('ko'::character varying)::text, ('na'::character varying)::text, ('skip'::character varying)::text]))), CONSTRAINT patch_sessions_prereq_ssh_check CHECK (((prereq_ssh)::text = ANY (ARRAY[('pending'::character varying)::text, ('ok'::character varying)::text, ('ko'::character varying)::text, ('skip'::character varying)::text]))), CONSTRAINT patch_sessions_rollback_check CHECK (((rollback_method IS NULL) OR ((rollback_method)::text = ANY (ARRAY[('snapshot'::character varying)::text, ('commvault'::character varying)::text, ('commcell'::character varying)::text, ('force'::character varying)::text, ('na'::character varying)::text])))), CONSTRAINT patch_sessions_status_check CHECK (((status)::text = ANY (ARRAY[('pending'::character varying)::text, ('prereq_ok'::character varying)::text, ('in_progress'::character varying)::text, ('patched'::character varying)::text, ('up_to_date'::character varying)::text, ('failed'::character varying)::text, ('skipped'::character varying)::text, ('cancelled'::character varying)::text, ('reported'::character varying)::text, ('excluded'::character varying)::text]))) ); -- -- Name: TABLE patch_sessions; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.patch_sessions IS 'Données dynamiques de patching par campagne — 1 ligne = 1 serveur dans 1 semaine'; -- -- Name: COLUMN patch_sessions.snapshot_forced; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.patch_sessions.snapshot_forced IS 'True si patcheur a forcé le patch sans snapshot — justification obligatoire'; -- -- Name: patch_sessions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.patch_sessions_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: patch_sessions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.patch_sessions_id_seq OWNED BY public.patch_sessions.id; -- -- Name: patch_validation; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.patch_validation ( id integer NOT NULL, server_id integer, campaign_id integer, campaign_type character varying(30), patch_date timestamp without time zone DEFAULT now(), status character varying(20) DEFAULT 'en_attente'::character varying NOT NULL, validated_by_contact_id integer, validated_by_name character varying(200), validated_at timestamp without time zone, marked_by_user_id integer, forced_reason text, notes text, created_at timestamp without time zone DEFAULT now(), updated_at timestamp without time zone DEFAULT now(), CONSTRAINT patch_validation_status_check CHECK (((status)::text = ANY (ARRAY[('en_attente'::character varying)::text, ('validated_ok'::character varying)::text, ('validated_ko'::character varying)::text, ('forced'::character varying)::text]))) ); -- -- Name: patch_validation_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.patch_validation_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: patch_validation_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.patch_validation_id_seq OWNED BY public.patch_validation.id; -- -- Name: qualys_asset_tags; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.qualys_asset_tags ( id integer NOT NULL, qualys_asset_id bigint NOT NULL, qualys_tag_id bigint NOT NULL, assigned_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: qualys_asset_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.qualys_asset_tags_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: qualys_asset_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.qualys_asset_tags_id_seq OWNED BY public.qualys_asset_tags.id; -- -- Name: qualys_assets; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.qualys_assets ( id integer NOT NULL, qualys_asset_id bigint NOT NULL, name character varying(255) NOT NULL, hostname public.citext, fqdn character varying(255), ip_address inet, os text, os_family character varying(10), agent_status character varying(30), agent_version character varying(30), last_checkin timestamp with time zone, server_id integer, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: qualys_assets_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.qualys_assets_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: qualys_assets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.qualys_assets_id_seq OWNED BY public.qualys_assets.id; -- -- Name: qualys_missing_servers; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.qualys_missing_servers ( id integer NOT NULL, hostname character varying(255) NOT NULL, hostname_norm character varying(255) GENERATED ALWAYS AS (lower((hostname)::text)) STORED, environnement character varying(50), sources_present character varying(100), in_cyberark boolean DEFAULT false, in_sentinel boolean DEFAULT false, in_itop boolean DEFAULT false, server_id integer, reason_category character varying(30), reason_detail text, status character varying(20) DEFAULT 'a_traiter'::character varying, priority smallint DEFAULT 3, notes text, source_file character varying(100), last_seen_at timestamp with time zone DEFAULT now(), created_at timestamp with time zone DEFAULT now(), updated_at timestamp with time zone DEFAULT now(), CONSTRAINT qms_reason_check CHECK (((reason_category IS NULL) OR ((reason_category)::text = ANY ((ARRAY['appliance'::character varying, 'ot_scada'::character varying, 'virtualisation'::character varying, 'embedded'::character varying, 'oubli'::character varying, 'decom'::character varying, 'inconnu'::character varying, 'other'::character varying])::text[])))), CONSTRAINT qms_status_check CHECK (((status)::text = ANY ((ARRAY['a_traiter'::character varying, 'a_enroler'::character varying, 'exempt'::character varying, 'enrole'::character varying, 'decom'::character varying])::text[]))) ); -- -- Name: TABLE qualys_missing_servers; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.qualys_missing_servers IS 'Serveurs détectés ailleurs (CA/S1/iTop) mais absents de Qualys + raison'; -- -- Name: COLUMN qualys_missing_servers.reason_category; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.qualys_missing_servers.reason_category IS 'appliance, ot_scada, virtualisation (ESXi), embedded, oubli (à enrôler), decom, inconnu, other'; -- -- Name: COLUMN qualys_missing_servers.status; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.qualys_missing_servers.status IS 'a_traiter, a_enroler, exempt (légitimement hors Qualys), enrole (fait), decom'; -- -- Name: COLUMN qualys_missing_servers.priority; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.qualys_missing_servers.priority IS '1 urgent → 5 faible (auto-calc selon sources)'; -- -- Name: qualys_missing_servers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.qualys_missing_servers_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: qualys_missing_servers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.qualys_missing_servers_id_seq OWNED BY public.qualys_missing_servers.id; -- -- Name: qualys_tags; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.qualys_tags ( id integer NOT NULL, qualys_tag_id bigint NOT NULL, name character varying(200) NOT NULL, is_dynamic boolean DEFAULT false NOT NULL, rule_type character varying(50), rule_text text, category character varying(50), created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, v3_name character varying(100), v3_type character varying(10) ); -- -- Name: qualys_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.qualys_tags_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: qualys_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.qualys_tags_id_seq OWNED BY public.qualys_tags.id; -- -- Name: quickwin_entries; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.quickwin_entries ( id integer NOT NULL, run_id integer NOT NULL, server_id integer NOT NULL, branch character varying(10) DEFAULT 'hprod'::character varying NOT NULL, status character varying(20) DEFAULT 'pending'::character varying NOT NULL, general_excludes text DEFAULT ''::text NOT NULL, specific_excludes text DEFAULT ''::text NOT NULL, patch_command text, patch_output text, patch_packages_count integer DEFAULT 0, patch_packages text, patch_date timestamp with time zone, reboot_required boolean DEFAULT false NOT NULL, prereq_ok boolean, prereq_detail text, snap_done boolean DEFAULT false NOT NULL, dryrun_output text, notes text, updated_at timestamp with time zone DEFAULT now() NOT NULL, prereq_date timestamp with time zone, snap_date timestamp with time zone, prereq_ssh boolean, prereq_satellite boolean, prereq_disk boolean, prod_pair_entry_id integer, snap_detail text, CONSTRAINT quickwin_entries_branch_check CHECK (((branch)::text = ANY (ARRAY[('hprod'::character varying)::text, ('prod'::character varying)::text]))), CONSTRAINT quickwin_entries_status_check CHECK (((status)::text = ANY (ARRAY[('pending'::character varying)::text, ('in_progress'::character varying)::text, ('patched'::character varying)::text, ('failed'::character varying)::text, ('skipped'::character varying)::text, ('excluded'::character varying)::text]))) ); -- -- Name: quickwin_entries_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.quickwin_entries_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: quickwin_entries_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.quickwin_entries_id_seq OWNED BY public.quickwin_entries.id; -- -- Name: quickwin_logs; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.quickwin_logs ( id integer NOT NULL, run_id integer NOT NULL, entry_id integer, hostname character varying(255), step character varying(30) NOT NULL, level character varying(10) DEFAULT 'info'::character varying NOT NULL, message text NOT NULL, detail text, created_at timestamp without time zone DEFAULT now(), created_by character varying(100) ); -- -- Name: quickwin_logs_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.quickwin_logs_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: quickwin_logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.quickwin_logs_id_seq OWNED BY public.quickwin_logs.id; -- -- Name: quickwin_runs; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.quickwin_runs ( id integer NOT NULL, year integer NOT NULL, week_number integer NOT NULL, label text DEFAULT ''::text NOT NULL, status character varying(20) DEFAULT 'draft'::character varying NOT NULL, created_by integer, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, notes text, CONSTRAINT quickwin_runs_status_check CHECK (((status)::text = ANY (ARRAY[('draft'::character varying)::text, ('prereq'::character varying)::text, ('snapshot'::character varying)::text, ('patching'::character varying)::text, ('result'::character varying)::text, ('completed'::character varying)::text, ('failed'::character varying)::text]))) ); -- -- Name: quickwin_runs_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.quickwin_runs_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: quickwin_runs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.quickwin_runs_id_seq OWNED BY public.quickwin_runs.id; -- -- Name: quickwin_server_config; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.quickwin_server_config ( id integer NOT NULL, server_id integer NOT NULL, general_excludes text DEFAULT ''::text NOT NULL, specific_excludes text DEFAULT ''::text NOT NULL, last_yum_commands jsonb DEFAULT '[]'::jsonb, notes text, updated_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: quickwin_server_config_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.quickwin_server_config_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: quickwin_server_config_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.quickwin_server_config_id_seq OWNED BY public.quickwin_server_config.id; -- -- Name: server_audit; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_audit ( id integer NOT NULL, server_id integer, hostname character varying(100) NOT NULL, audit_date timestamp with time zone NOT NULL, status character varying(30) NOT NULL, connection_method text, resolved_fqdn character varying(150), os_release text, kernel character varying(100), uptime text, selinux character varying(50), disk_detail text, disk_root_free_mb integer, disk_var_free_mb integer, disk_applis_pct integer, disk_alert boolean DEFAULT false, network_mounts text, fstab_network text, apps_installed text, services_running text, services_enabled text, running_not_enabled text, custom_processes text, pm2_processes text, rc_scripts text, applis_scripts text, crontab_root text, crontab_users text, containers text, podman_systemd text, listening_ports text, db_detected text, cluster_detected text, agents text, qualys_active boolean, sentinelone_active boolean, last_patch text, failed_services text, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: server_audit_full; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_audit_full ( id integer NOT NULL, server_id integer, hostname character varying(200) NOT NULL, audit_date timestamp with time zone DEFAULT now(), os_release text, kernel text, uptime text, services jsonb DEFAULT '[]'::jsonb, processes jsonb DEFAULT '[]'::jsonb, services_failed text, needs_restarting text, reboot_required boolean DEFAULT false, disk_usage jsonb DEFAULT '[]'::jsonb, interfaces jsonb DEFAULT '[]'::jsonb, routes jsonb DEFAULT '[]'::jsonb, listen_ports jsonb DEFAULT '[]'::jsonb, connections jsonb DEFAULT '[]'::jsonb, flux_in jsonb DEFAULT '[]'::jsonb, flux_out jsonb DEFAULT '[]'::jsonb, conn_wait jsonb DEFAULT '[]'::jsonb, net_stats jsonb DEFAULT '{}'::jsonb, traffic jsonb DEFAULT '[]'::jsonb, firewall jsonb DEFAULT '{}'::jsonb, correlation_matrix jsonb DEFAULT '[]'::jsonb, outbound_only jsonb DEFAULT '[]'::jsonb, raw_output text, status character varying(20) DEFAULT 'ok'::character varying, error_msg text, created_at timestamp with time zone DEFAULT now(), last_patch_date character varying(20), last_patch_week character varying(10), last_patch_year integer, patch_count_2026 integer DEFAULT 0, patch_weeks_2026 text, patch_count_2025 integer DEFAULT 0, patch_weeks_2025 text, patch_status_2026 character varying(20) DEFAULT NULL::character varying, cancelled_weeks_2026 text ); -- -- Name: server_audit_full_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_audit_full_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_audit_full_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_audit_full_id_seq OWNED BY public.server_audit_full.id; -- -- Name: server_audit_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_audit_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_audit_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_audit_id_seq OWNED BY public.server_audit.id; -- -- Name: server_correspondance; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_correspondance ( id integer NOT NULL, prod_server_id integer, nonprod_server_id integer, environment_code character varying(50), source character varying(20) DEFAULT 'auto'::character varying NOT NULL, note text, created_by integer, created_at timestamp without time zone DEFAULT now(), updated_at timestamp without time zone DEFAULT now(), CONSTRAINT server_correspondance_source_check CHECK (((source)::text = ANY (ARRAY[('auto'::character varying)::text, ('manual'::character varying)::text, ('exception'::character varying)::text]))) ); -- -- Name: server_correspondance_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_correspondance_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_correspondance_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_correspondance_id_seq OWNED BY public.server_correspondance.id; -- -- Name: server_databases; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_databases ( id integer NOT NULL, server_id integer, hostname public.citext, instance_name character varying(100), db_type character varying(50), db_version character varying(100), db_edition character varying(50), cluster_name character varying(100), environnement character varying(50), etat character varying(30), description text, created_at timestamp with time zone DEFAULT now() ); -- -- Name: server_databases_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_databases_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_databases_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_databases_id_seq OWNED BY public.server_databases.id; -- -- Name: server_ips; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_ips ( id integer NOT NULL, server_id integer NOT NULL, ip_address inet NOT NULL, ip_type character varying(20) DEFAULT 'primary'::character varying NOT NULL, is_ssh boolean DEFAULT false NOT NULL, vlan_id integer, interface character varying(30), description character varying(200), created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT server_ips_ip_type_check CHECK (((ip_type)::text = ANY (ARRAY[('primary'::character varying)::text, ('secondary'::character varying)::text, ('management'::character varying)::text, ('vlan'::character varying)::text]))) ); -- -- Name: server_ips_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_ips_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_ips_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_ips_id_seq OWNED BY public.server_ips.id; -- -- Name: server_pairs; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_pairs ( id integer NOT NULL, prod_server_id integer NOT NULL, hprod_server_id integer NOT NULL, relation_type character varying(20) DEFAULT 'same_app'::character varying NOT NULL, auto_detected boolean DEFAULT false NOT NULL, note text, created_at timestamp with time zone DEFAULT now() NOT NULL, CONSTRAINT server_pairs_relation_type_check CHECK (((relation_type)::text = ANY (ARRAY[('same_app'::character varying)::text, ('cluster_pair'::character varying)::text, ('dr_pair'::character varying)::text, ('manual'::character varying)::text]))) ); -- -- Name: server_pairs_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_pairs_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_pairs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_pairs_id_seq OWNED BY public.server_pairs.id; -- -- Name: server_specifics; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.server_specifics ( id integer NOT NULL, server_id integer NOT NULL, reboot_order integer, reboot_order_note text, cmd_before_patch text, cmd_after_patch text, cmd_before_reboot text, cmd_after_reboot text, is_cluster boolean DEFAULT false NOT NULL, cluster_role character varying(20), cluster_note text, is_db boolean DEFAULT false NOT NULL, db_type character varying(50), db_note text, is_middleware boolean DEFAULT false NOT NULL, mw_type character varying(50), mw_note text, has_agent_special boolean DEFAULT false NOT NULL, agent_note text, has_service_critical boolean DEFAULT false NOT NULL, service_note text, needs_manual_step boolean DEFAULT false NOT NULL, manual_step_detail text, reboot_delay_minutes integer, patch_excludes text, no_reboot_reason text, dependency_server_id integer, dependency_note text, note text, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, app_type character varying(50), stop_command text, start_command text, stop_user character varying(50), start_user character varying(50), kernel_update_blocked boolean DEFAULT false NOT NULL, kernel_block_reason text, reboot_min_interval_minutes integer, sentinel_disable_required boolean DEFAULT false NOT NULL, ip_forwarding_required boolean DEFAULT false NOT NULL, rolling_update boolean DEFAULT false NOT NULL, rolling_update_note text, auto_restart boolean DEFAULT true NOT NULL, patch_order_group character varying(50), extra_excludes text, stop_order integer, patch_wave integer, patch_wave_group character varying(50), patch_wave_delay_days integer DEFAULT 1, patch_wave_note text ); -- -- Name: server_specifics_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.server_specifics_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: server_specifics_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.server_specifics_id_seq OWNED BY public.server_specifics.id; -- -- Name: servers; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.servers ( id integer NOT NULL, hostname public.citext NOT NULL, fqdn character varying(255), domain_ltd character varying(50), domain_env_id integer, zone_id integer, vcenter_id integer, application_id integer, cluster_id integer, os_family character varying(10), os_version character varying(200), machine_type character varying(10) DEFAULT 'vm'::character varying NOT NULL, vcenter_vm_name character varying(100), is_bdd boolean DEFAULT false NOT NULL, is_flux_libre boolean DEFAULT false NOT NULL, is_emv boolean DEFAULT false NOT NULL, is_podman boolean DEFAULT false NOT NULL, need_pct boolean DEFAULT false NOT NULL, tier character varying(10) DEFAULT 'a_definir'::character varying NOT NULL, etat character varying(30) DEFAULT 'production'::character varying, licence_support character varying(10) DEFAULT 'active'::character varying NOT NULL, eol_date date, site character varying(50), ssh_method character varying(20) DEFAULT 'ssh_key'::character varying, ssh_port integer DEFAULT 22 NOT NULL, ssh_user character varying(50), cyberark_safe character varying(100), patch_os_owner character varying(20) DEFAULT 'secops'::character varying NOT NULL, patch_mw_owner character varying(20) DEFAULT 'a_definir'::character varying NOT NULL, patch_app_owner character varying(20) DEFAULT 'a_definir'::character varying NOT NULL, patch_owner_details text, patch_frequency character varying(20) DEFAULT 'monthly'::character varying, patch_window character varying(100), patch_excludes text, patch_custom_cmd text, reboot_allowed boolean DEFAULT true NOT NULL, snapshot_required boolean DEFAULT true NOT NULL, pre_patch_script text, post_patch_script text, responsable_nom text, responsable_email character varying(255), referent_nom text, referent_email character varying(255), default_intervenant_id integer, qualys_asset_id bigint, centreon_host_id integer, cve_critical_count integer DEFAULT 0, last_qualys_scan timestamp with time zone, mode_operatoire text, commentaire text, notes text, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, created_by integer, satellite_host character varying(100), pref_patch_jour character varying(20) DEFAULT 'indifferent'::character varying, pref_patch_heure character varying(50) DEFAULT 'indifferent'::character varying, application_name character varying(200), app_group character varying(50), use_proxy boolean DEFAULT true NOT NULL, environnement character varying(20), domaine character varying(100), CONSTRAINT servers_environnement_check CHECK ((((environnement)::text = ANY ((ARRAY['Développement'::character varying, 'Intégration'::character varying, 'Pré-Prod'::character varying, 'Production'::character varying, 'Recette'::character varying, 'Test'::character varying, 'Formation'::character varying])::text[])) OR (environnement IS NULL))), CONSTRAINT servers_etat_check CHECK ((((etat)::text = ANY ((ARRAY['Production'::character varying, 'Implémentation'::character varying, 'Stock'::character varying, 'Obsolète'::character varying, 'prêt'::character varying, 'tests'::character varying])::text[])) OR (etat IS NULL))), CONSTRAINT servers_licence_support_check CHECK ((((licence_support)::text = ANY ((ARRAY['active'::character varying, 'obsolete'::character varying, 'els'::character varying, 'missing'::character varying])::text[])) OR (licence_support IS NULL))), CONSTRAINT servers_machine_type_check CHECK (((machine_type)::text = ANY (ARRAY[('vm'::character varying)::text, ('physical'::character varying)::text]))), CONSTRAINT servers_os_family_check CHECK (((os_family)::text = ANY (ARRAY[('linux'::character varying)::text, ('windows'::character varying)::text]))), CONSTRAINT servers_patch_app_owner_check CHECK (((patch_app_owner)::text = ANY (ARRAY[('secops'::character varying)::text, ('ipop'::character varying)::text, ('editeur'::character varying)::text, ('tiers'::character varying)::text, ('na'::character varying)::text, ('a_definir'::character varying)::text]))), CONSTRAINT servers_patch_mw_owner_check CHECK (((patch_mw_owner)::text = ANY (ARRAY[('secops'::character varying)::text, ('ipop'::character varying)::text, ('editeur'::character varying)::text, ('tiers'::character varying)::text, ('na'::character varying)::text, ('a_definir'::character varying)::text]))), CONSTRAINT servers_patch_os_owner_check CHECK (((patch_os_owner)::text = ANY (ARRAY[('secops'::character varying)::text, ('ipop'::character varying)::text, ('editeur'::character varying)::text, ('tiers'::character varying)::text, ('na'::character varying)::text, ('a_definir'::character varying)::text]))), CONSTRAINT servers_ssh_method_check CHECK ((((ssh_method)::text = ANY ((ARRAY['ssh_key'::character varying, 'ssh_psmp'::character varying, 'ssh_password'::character varying, 'rdp_local'::character varying, 'rdp_psmp'::character varying, 'winrm'::character varying, 'a_definir'::character varying])::text[])) OR (ssh_method IS NULL))), CONSTRAINT servers_tier_check CHECK (((tier)::text = ANY (ARRAY[('tier0'::character varying)::text, ('tier1'::character varying)::text, ('tier2'::character varying)::text, ('tier3'::character varying)::text, ('a_definir'::character varying)::text]))) ); -- -- Name: TABLE servers; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON TABLE public.servers IS 'Inventaire serveurs SANEF — source de vérité unique'; -- -- Name: COLUMN servers.is_podman; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.servers.is_podman IS 'True si Flux Libre avec Podman (bot/boo/boc) — False pour BST'; -- -- Name: COLUMN servers.need_pct; Type: COMMENT; Schema: public; Owner: - -- COMMENT ON COLUMN public.servers.need_pct IS 'True si prévenance PCT nécessaire avant intervention'; -- -- Name: servers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.servers_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: servers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.servers_id_seq OWNED BY public.servers.id; -- -- Name: settings; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.settings ( key character varying(100) NOT NULL, value text NOT NULL, description text, updated_at timestamp with time zone DEFAULT now() NOT NULL, updated_by integer ); -- -- Name: tier_policies; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.tier_policies ( id integer NOT NULL, tier character varying(10) NOT NULL, max_parallel integer DEFAULT 1 NOT NULL, approval_level character varying(20) NOT NULL, maintenance_window character varying(100), pre_notification_hours integer DEFAULT 0 NOT NULL, snapshot_mandatory boolean DEFAULT true NOT NULL, post_check_level character varying(20) DEFAULT 'basic'::character varying NOT NULL, notes text ); -- -- Name: tier_policies_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.tier_policies_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: tier_policies_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.tier_policies_id_seq OWNED BY public.tier_policies.id; -- -- Name: user_permissions; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.user_permissions ( id integer NOT NULL, user_id integer NOT NULL, module character varying(30) NOT NULL, level character varying(10) DEFAULT 'view'::character varying NOT NULL, CONSTRAINT user_permissions_level_check CHECK (((level)::text = ANY (ARRAY[('view'::character varying)::text, ('edit'::character varying)::text, ('admin'::character varying)::text]))), CONSTRAINT user_permissions_module_check CHECK (((module)::text = ANY (ARRAY[('servers'::character varying)::text, ('campaigns'::character varying)::text, ('qualys'::character varying)::text, ('audit'::character varying)::text, ('settings'::character varying)::text, ('users'::character varying)::text, ('planning'::character varying)::text, ('specifics'::character varying)::text, ('quickwin'::character varying)::text]))) ); -- -- Name: user_permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.user_permissions_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: user_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.user_permissions_id_seq OWNED BY public.user_permissions.id; -- -- Name: users; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.users ( id integer NOT NULL, username public.citext NOT NULL, display_name character varying(100) NOT NULL, email character varying(255), password_hash character varying(255), role character varying(20) DEFAULT 'operator'::character varying NOT NULL, auth_type character varying(10) DEFAULT 'local'::character varying NOT NULL, is_active boolean DEFAULT true NOT NULL, last_login timestamp with time zone, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, itop_person_id integer, last_itop_sync timestamp without time zone, force_password_change boolean DEFAULT false, CONSTRAINT users_auth_type_check CHECK (((auth_type)::text = ANY (ARRAY[('local'::character varying)::text, ('ldap'::character varying)::text]))), CONSTRAINT users_role_check CHECK (((role)::text = ANY (ARRAY[('admin'::character varying)::text, ('coordinator'::character varying)::text, ('operator'::character varying)::text, ('viewer'::character varying)::text]))) ); -- -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.users_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id; -- -- Name: v_campaign_dashboard; Type: VIEW; Schema: public; Owner: - -- CREATE VIEW public.v_campaign_dashboard AS SELECT c.id, c.week_code, c.year, c.status, count(ps.id) AS total, count(*) FILTER (WHERE ((ps.status)::text = 'patched'::text)) AS patched, count(*) FILTER (WHERE ((ps.status)::text = 'failed'::text)) AS failed, count(*) FILTER (WHERE ((ps.status)::text = 'pending'::text)) AS pending FROM (public.campaigns c LEFT JOIN public.patch_sessions ps ON ((c.id = ps.campaign_id))) GROUP BY c.id, c.week_code, c.year, c.status; -- -- Name: v_conformity_todo; Type: VIEW; Schema: public; Owner: - -- CREATE VIEW public.v_conformity_todo AS SELECT s.hostname, d.name AS domaine, e.name AS environnement, s.tier, s.patch_os_owner, (s.responsable_nom IS NULL) AS resp_missing FROM (((public.servers s LEFT JOIN public.domain_environments de ON ((s.domain_env_id = de.id))) LEFT JOIN public.domains d ON ((de.domain_id = d.id))) LEFT JOIN public.environments e ON ((de.environment_id = e.id))) WHERE (((s.etat)::text = 'en_production'::text) AND (((s.patch_os_owner)::text = 'a_definir'::text) OR (s.responsable_nom IS NULL))); -- -- Name: zones; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.zones ( id integer NOT NULL, name character varying(30) NOT NULL, description text, is_dmz boolean DEFAULT false NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL ); -- -- Name: v_servers; Type: VIEW; Schema: public; Owner: - -- CREATE VIEW public.v_servers AS SELECT s.id, s.hostname, s.fqdn, s.domain_ltd, d.name AS domaine, d.code AS domaine_code, e.name AS environnement, e.code AS env_code, z.name AS zone_reseau, s.os_family, s.os_version, s.machine_type, s.tier, s.etat, s.licence_support, s.is_bdd, s.is_flux_libre, s.is_emv, s.is_podman, s.need_pct, s.patch_os_owner, COALESCE(s.patch_excludes, de.patch_excludes, d.default_excludes) AS effective_excludes, s.responsable_nom, s.referent_nom, s.ssh_method, s.ssh_user, s.mode_operatoire, s.commentaire FROM ((((public.servers s LEFT JOIN public.domain_environments de ON ((s.domain_env_id = de.id))) LEFT JOIN public.domains d ON ((de.domain_id = d.id))) LEFT JOIN public.environments e ON ((de.environment_id = e.id))) LEFT JOIN public.zones z ON ((s.zone_id = z.id))); -- -- Name: v_patchable; Type: VIEW; Schema: public; Owner: - -- CREATE VIEW public.v_patchable AS SELECT id, hostname, fqdn, domain_ltd, domaine, domaine_code, environnement, env_code, zone_reseau, os_family, os_version, machine_type, tier, etat, licence_support, is_bdd, is_flux_libre, is_emv, is_podman, need_pct, patch_os_owner, effective_excludes, responsable_nom, referent_nom, ssh_method, ssh_user, mode_operatoire, commentaire FROM public.v_servers WHERE (((patch_os_owner)::text = 'secops'::text) AND ((etat)::text = 'en_production'::text) AND ((licence_support)::text = ANY (ARRAY[('active'::character varying)::text, ('els'::character varying)::text]))); -- -- Name: vcenters; Type: TABLE; Schema: public; Owner: - -- CREATE TABLE public.vcenters ( id integer NOT NULL, name character varying(100) NOT NULL, endpoint character varying(255) NOT NULL, datacenter character varying(100), is_active boolean DEFAULT true NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, description character varying(255), responsable character varying(100) ); -- -- Name: vcenters_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.vcenters_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: vcenters_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.vcenters_id_seq OWNED BY public.vcenters.id; -- -- Name: zones_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- CREATE SEQUENCE public.zones_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- -- Name: zones_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- ALTER SEQUENCE public.zones_id_seq OWNED BY public.zones.id; -- -- Name: allowed_networks id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.allowed_networks ALTER COLUMN id SET DEFAULT nextval('public.allowed_networks_id_seq'::regclass); -- -- Name: app_map id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.app_map ALTER COLUMN id SET DEFAULT nextval('public.app_map_id_seq'::regclass); -- -- Name: applications id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.applications ALTER COLUMN id SET DEFAULT nextval('public.applications_id_seq'::regclass); -- -- Name: audit_log id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.audit_log ALTER COLUMN id SET DEFAULT nextval('public.audit_log_id_seq'::regclass); -- -- Name: campaign_accord_details id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accord_details ALTER COLUMN id SET DEFAULT nextval('public.campaign_accord_details_id_seq'::regclass); -- -- Name: campaign_accords id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accords ALTER COLUMN id SET DEFAULT nextval('public.campaign_accords_id_seq'::regclass); -- -- Name: campaign_operator_limits id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_operator_limits ALTER COLUMN id SET DEFAULT nextval('public.campaign_operator_limits_id_seq'::regclass); -- -- Name: campaigns id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaigns ALTER COLUMN id SET DEFAULT nextval('public.campaigns_id_seq'::regclass); -- -- Name: chassis id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.chassis ALTER COLUMN id SET DEFAULT nextval('public.chassis_id_seq'::regclass); -- -- Name: cluster_members id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ALTER COLUMN id SET DEFAULT nextval('public.cluster_members_id_seq'::regclass); -- -- Name: clusters id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.clusters ALTER COLUMN id SET DEFAULT nextval('public.clusters_id_seq'::regclass); -- -- Name: contact_scopes id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contact_scopes ALTER COLUMN id SET DEFAULT nextval('public.contact_scopes_id_seq'::regclass); -- -- Name: contacts id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contacts ALTER COLUMN id SET DEFAULT nextval('public.contacts_id_seq'::regclass); -- -- Name: default_assignments id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.default_assignments ALTER COLUMN id SET DEFAULT nextval('public.default_assignments_id_seq'::regclass); -- -- Name: domain_environments id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_environments ALTER COLUMN id SET DEFAULT nextval('public.domain_environments_id_seq'::regclass); -- -- Name: domain_ltd_list id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_ltd_list ALTER COLUMN id SET DEFAULT nextval('public.domain_ltd_list_id_seq'::regclass); -- -- Name: domain_responsables id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_responsables ALTER COLUMN id SET DEFAULT nextval('public.domain_responsables_id_seq'::regclass); -- -- Name: domains id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domains ALTER COLUMN id SET DEFAULT nextval('public.domains_id_seq'::regclass); -- -- Name: environments id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.environments ALTER COLUMN id SET DEFAULT nextval('public.environments_id_seq'::regclass); -- -- Name: eol_references id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.eol_references ALTER COLUMN id SET DEFAULT nextval('public.eol_references_id_seq'::regclass); -- -- Name: hypervisors id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.hypervisors ALTER COLUMN id SET DEFAULT nextval('public.hypervisors_id_seq'::regclass); -- -- Name: import_history id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.import_history ALTER COLUMN id SET DEFAULT nextval('public.import_history_id_seq'::regclass); -- -- Name: network_flow_map id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.network_flow_map ALTER COLUMN id SET DEFAULT nextval('public.network_flow_map_id_seq'::regclass); -- -- Name: patch_history id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_history ALTER COLUMN id SET DEFAULT nextval('public.patch_history_id_seq'::regclass); -- -- Name: patch_planning id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_planning ALTER COLUMN id SET DEFAULT nextval('public.patch_planning_id_seq'::regclass); -- -- Name: patch_sessions id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ALTER COLUMN id SET DEFAULT nextval('public.patch_sessions_id_seq'::regclass); -- -- Name: patch_validation id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_validation ALTER COLUMN id SET DEFAULT nextval('public.patch_validation_id_seq'::regclass); -- -- Name: qualys_asset_tags id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_asset_tags ALTER COLUMN id SET DEFAULT nextval('public.qualys_asset_tags_id_seq'::regclass); -- -- Name: qualys_assets id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_assets ALTER COLUMN id SET DEFAULT nextval('public.qualys_assets_id_seq'::regclass); -- -- Name: qualys_missing_servers id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_missing_servers ALTER COLUMN id SET DEFAULT nextval('public.qualys_missing_servers_id_seq'::regclass); -- -- Name: qualys_tags id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_tags ALTER COLUMN id SET DEFAULT nextval('public.qualys_tags_id_seq'::regclass); -- -- Name: quickwin_entries id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_entries ALTER COLUMN id SET DEFAULT nextval('public.quickwin_entries_id_seq'::regclass); -- -- Name: quickwin_logs id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_logs ALTER COLUMN id SET DEFAULT nextval('public.quickwin_logs_id_seq'::regclass); -- -- Name: quickwin_runs id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_runs ALTER COLUMN id SET DEFAULT nextval('public.quickwin_runs_id_seq'::regclass); -- -- Name: quickwin_server_config id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_server_config ALTER COLUMN id SET DEFAULT nextval('public.quickwin_server_config_id_seq'::regclass); -- -- Name: server_audit id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit ALTER COLUMN id SET DEFAULT nextval('public.server_audit_id_seq'::regclass); -- -- Name: server_audit_full id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit_full ALTER COLUMN id SET DEFAULT nextval('public.server_audit_full_id_seq'::regclass); -- -- Name: server_correspondance id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ALTER COLUMN id SET DEFAULT nextval('public.server_correspondance_id_seq'::regclass); -- -- Name: server_databases id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_databases ALTER COLUMN id SET DEFAULT nextval('public.server_databases_id_seq'::regclass); -- -- Name: server_ips id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_ips ALTER COLUMN id SET DEFAULT nextval('public.server_ips_id_seq'::regclass); -- -- Name: server_pairs id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_pairs ALTER COLUMN id SET DEFAULT nextval('public.server_pairs_id_seq'::regclass); -- -- Name: server_specifics id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_specifics ALTER COLUMN id SET DEFAULT nextval('public.server_specifics_id_seq'::regclass); -- -- Name: servers id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ALTER COLUMN id SET DEFAULT nextval('public.servers_id_seq'::regclass); -- -- Name: tier_policies id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.tier_policies ALTER COLUMN id SET DEFAULT nextval('public.tier_policies_id_seq'::regclass); -- -- Name: user_permissions id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.user_permissions ALTER COLUMN id SET DEFAULT nextval('public.user_permissions_id_seq'::regclass); -- -- Name: users id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass); -- -- Name: vcenters id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.vcenters ALTER COLUMN id SET DEFAULT nextval('public.vcenters_id_seq'::regclass); -- -- Name: zones id; Type: DEFAULT; Schema: public; Owner: - -- ALTER TABLE ONLY public.zones ALTER COLUMN id SET DEFAULT nextval('public.zones_id_seq'::regclass); -- -- Name: allowed_networks allowed_networks_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.allowed_networks ADD CONSTRAINT allowed_networks_pkey PRIMARY KEY (id); -- -- Name: app_map app_map_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.app_map ADD CONSTRAINT app_map_pkey PRIMARY KEY (id); -- -- Name: app_secrets app_secrets_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.app_secrets ADD CONSTRAINT app_secrets_pkey PRIMARY KEY (key); -- -- Name: applications applications_itop_id_uniq; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.applications ADD CONSTRAINT applications_itop_id_uniq UNIQUE (itop_id); -- -- Name: applications applications_nom_court_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.applications ADD CONSTRAINT applications_nom_court_key UNIQUE (nom_court); -- -- Name: applications applications_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.applications ADD CONSTRAINT applications_pkey PRIMARY KEY (id); -- -- Name: audit_log audit_log_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.audit_log ADD CONSTRAINT audit_log_pkey PRIMARY KEY (id); -- -- Name: campaign_accord_details campaign_accord_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accord_details ADD CONSTRAINT campaign_accord_details_pkey PRIMARY KEY (id); -- -- Name: campaign_accords campaign_accords_campaign_id_contact_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accords ADD CONSTRAINT campaign_accords_campaign_id_contact_id_key UNIQUE (campaign_id, contact_id); -- -- Name: campaign_accords campaign_accords_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accords ADD CONSTRAINT campaign_accords_pkey PRIMARY KEY (id); -- -- Name: campaign_operator_limits campaign_operator_limits_campaign_id_user_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_operator_limits ADD CONSTRAINT campaign_operator_limits_campaign_id_user_id_key UNIQUE (campaign_id, user_id); -- -- Name: campaign_operator_limits campaign_operator_limits_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_operator_limits ADD CONSTRAINT campaign_operator_limits_pkey PRIMARY KEY (id); -- -- Name: campaigns campaigns_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaigns ADD CONSTRAINT campaigns_pkey PRIMARY KEY (id); -- -- Name: campaigns campaigns_week_code_year_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaigns ADD CONSTRAINT campaigns_week_code_year_key UNIQUE (week_code, year); -- -- Name: chassis chassis_hostname_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.chassis ADD CONSTRAINT chassis_hostname_key UNIQUE (hostname); -- -- Name: chassis chassis_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.chassis ADD CONSTRAINT chassis_pkey PRIMARY KEY (id); -- -- Name: cluster_members cluster_members_cluster_id_patch_order_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ADD CONSTRAINT cluster_members_cluster_id_patch_order_key UNIQUE (cluster_id, patch_order); -- -- Name: cluster_members cluster_members_cluster_id_server_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ADD CONSTRAINT cluster_members_cluster_id_server_id_key UNIQUE (cluster_id, server_id); -- -- Name: cluster_members cluster_members_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ADD CONSTRAINT cluster_members_pkey PRIMARY KEY (id); -- -- Name: clusters clusters_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.clusters ADD CONSTRAINT clusters_name_key UNIQUE (name); -- -- Name: clusters clusters_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.clusters ADD CONSTRAINT clusters_pkey PRIMARY KEY (id); -- -- Name: contact_scopes contact_scopes_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contact_scopes ADD CONSTRAINT contact_scopes_pkey PRIMARY KEY (id); -- -- Name: contact_scopes contact_scopes_unique; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contact_scopes ADD CONSTRAINT contact_scopes_unique UNIQUE (contact_id, scope_type, scope_value, env_scope); -- -- Name: contacts contacts_email_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contacts ADD CONSTRAINT contacts_email_key UNIQUE (email); -- -- Name: contacts contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contacts ADD CONSTRAINT contacts_pkey PRIMARY KEY (id); -- -- Name: contacts contacts_portal_token_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contacts ADD CONSTRAINT contacts_portal_token_key UNIQUE (portal_token); -- -- Name: default_assignments default_assignments_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.default_assignments ADD CONSTRAINT default_assignments_pkey PRIMARY KEY (id); -- -- Name: default_assignments default_assignments_rule_type_rule_value_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.default_assignments ADD CONSTRAINT default_assignments_rule_type_rule_value_key UNIQUE (rule_type, rule_value); -- -- Name: domain_environments domain_environments_domain_id_environment_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_environments ADD CONSTRAINT domain_environments_domain_id_environment_id_key UNIQUE (domain_id, environment_id); -- -- Name: domain_environments domain_environments_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_environments ADD CONSTRAINT domain_environments_pkey PRIMARY KEY (id); -- -- Name: domain_ltd_list domain_ltd_list_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_ltd_list ADD CONSTRAINT domain_ltd_list_name_key UNIQUE (name); -- -- Name: domain_ltd_list domain_ltd_list_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_ltd_list ADD CONSTRAINT domain_ltd_list_pkey PRIMARY KEY (id); -- -- Name: domain_responsables domain_responsables_domain_id_nom_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_responsables ADD CONSTRAINT domain_responsables_domain_id_nom_key UNIQUE (domain_id, nom); -- -- Name: domain_responsables domain_responsables_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_responsables ADD CONSTRAINT domain_responsables_pkey PRIMARY KEY (id); -- -- Name: domains domains_code_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domains ADD CONSTRAINT domains_code_key UNIQUE (code); -- -- Name: domains domains_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domains ADD CONSTRAINT domains_name_key UNIQUE (name); -- -- Name: domains domains_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domains ADD CONSTRAINT domains_pkey PRIMARY KEY (id); -- -- Name: environments environments_code_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.environments ADD CONSTRAINT environments_code_key UNIQUE (code); -- -- Name: environments environments_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.environments ADD CONSTRAINT environments_name_key UNIQUE (name); -- -- Name: environments environments_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.environments ADD CONSTRAINT environments_pkey PRIMARY KEY (id); -- -- Name: eol_references eol_references_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.eol_references ADD CONSTRAINT eol_references_pkey PRIMARY KEY (id); -- -- Name: hypervisors hypervisors_hostname_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.hypervisors ADD CONSTRAINT hypervisors_hostname_key UNIQUE (hostname); -- -- Name: hypervisors hypervisors_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.hypervisors ADD CONSTRAINT hypervisors_pkey PRIMARY KEY (id); -- -- Name: import_history import_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.import_history ADD CONSTRAINT import_history_pkey PRIMARY KEY (id); -- -- Name: network_flow_map network_flow_map_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.network_flow_map ADD CONSTRAINT network_flow_map_pkey PRIMARY KEY (id); -- -- Name: patch_history patch_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_history ADD CONSTRAINT patch_history_pkey PRIMARY KEY (id); -- -- Name: patch_planning patch_planning_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_planning ADD CONSTRAINT patch_planning_pkey PRIMARY KEY (id); -- -- Name: patch_sessions patch_sessions_campaign_id_server_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ADD CONSTRAINT patch_sessions_campaign_id_server_id_key UNIQUE (campaign_id, server_id); -- -- Name: patch_sessions patch_sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ADD CONSTRAINT patch_sessions_pkey PRIMARY KEY (id); -- -- Name: patch_validation patch_validation_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_validation ADD CONSTRAINT patch_validation_pkey PRIMARY KEY (id); -- -- Name: qualys_asset_tags qualys_asset_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_asset_tags ADD CONSTRAINT qualys_asset_tags_pkey PRIMARY KEY (id); -- -- Name: qualys_asset_tags qualys_asset_tags_qualys_asset_id_qualys_tag_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_asset_tags ADD CONSTRAINT qualys_asset_tags_qualys_asset_id_qualys_tag_id_key UNIQUE (qualys_asset_id, qualys_tag_id); -- -- Name: qualys_assets qualys_assets_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_assets ADD CONSTRAINT qualys_assets_pkey PRIMARY KEY (id); -- -- Name: qualys_assets qualys_assets_qualys_asset_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_assets ADD CONSTRAINT qualys_assets_qualys_asset_id_key UNIQUE (qualys_asset_id); -- -- Name: qualys_missing_servers qualys_missing_servers_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_missing_servers ADD CONSTRAINT qualys_missing_servers_pkey PRIMARY KEY (id); -- -- Name: qualys_tags qualys_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_tags ADD CONSTRAINT qualys_tags_pkey PRIMARY KEY (id); -- -- Name: qualys_tags qualys_tags_qualys_tag_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_tags ADD CONSTRAINT qualys_tags_qualys_tag_id_key UNIQUE (qualys_tag_id); -- -- Name: quickwin_entries quickwin_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_entries ADD CONSTRAINT quickwin_entries_pkey PRIMARY KEY (id); -- -- Name: quickwin_logs quickwin_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_logs ADD CONSTRAINT quickwin_logs_pkey PRIMARY KEY (id); -- -- Name: quickwin_runs quickwin_runs_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_runs ADD CONSTRAINT quickwin_runs_pkey PRIMARY KEY (id); -- -- Name: quickwin_server_config quickwin_server_config_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_server_config ADD CONSTRAINT quickwin_server_config_pkey PRIMARY KEY (id); -- -- Name: quickwin_server_config quickwin_server_config_server_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_server_config ADD CONSTRAINT quickwin_server_config_server_id_key UNIQUE (server_id); -- -- Name: server_audit_full server_audit_full_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit_full ADD CONSTRAINT server_audit_full_pkey PRIMARY KEY (id); -- -- Name: server_audit server_audit_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit ADD CONSTRAINT server_audit_pkey PRIMARY KEY (id); -- -- Name: server_audit server_audit_server_id_audit_date_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit ADD CONSTRAINT server_audit_server_id_audit_date_key UNIQUE (server_id, audit_date); -- -- Name: server_correspondance server_correspondance_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ADD CONSTRAINT server_correspondance_pkey PRIMARY KEY (id); -- -- Name: server_correspondance server_correspondance_uniq; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ADD CONSTRAINT server_correspondance_uniq UNIQUE (prod_server_id, nonprod_server_id); -- -- Name: server_databases server_databases_hostname_instance_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_databases ADD CONSTRAINT server_databases_hostname_instance_name_key UNIQUE (hostname, instance_name); -- -- Name: server_databases server_databases_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_databases ADD CONSTRAINT server_databases_pkey PRIMARY KEY (id); -- -- Name: server_ips server_ips_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_ips ADD CONSTRAINT server_ips_pkey PRIMARY KEY (id); -- -- Name: server_ips server_ips_server_id_ip_address_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_ips ADD CONSTRAINT server_ips_server_id_ip_address_key UNIQUE (server_id, ip_address); -- -- Name: server_pairs server_pairs_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_pairs ADD CONSTRAINT server_pairs_pkey PRIMARY KEY (id); -- -- Name: server_pairs server_pairs_prod_server_id_hprod_server_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_pairs ADD CONSTRAINT server_pairs_prod_server_id_hprod_server_id_key UNIQUE (prod_server_id, hprod_server_id); -- -- Name: server_specifics server_specifics_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_specifics ADD CONSTRAINT server_specifics_pkey PRIMARY KEY (id); -- -- Name: server_specifics server_specifics_server_id_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_specifics ADD CONSTRAINT server_specifics_server_id_key UNIQUE (server_id); -- -- Name: servers servers_hostname_env_unique; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_hostname_env_unique UNIQUE (hostname, domain_env_id); -- -- Name: servers servers_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_pkey PRIMARY KEY (id); -- -- Name: settings settings_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.settings ADD CONSTRAINT settings_pkey PRIMARY KEY (key); -- -- Name: tier_policies tier_policies_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.tier_policies ADD CONSTRAINT tier_policies_pkey PRIMARY KEY (id); -- -- Name: tier_policies tier_policies_tier_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.tier_policies ADD CONSTRAINT tier_policies_tier_key UNIQUE (tier); -- -- Name: user_permissions user_permissions_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.user_permissions ADD CONSTRAINT user_permissions_pkey PRIMARY KEY (id); -- -- Name: user_permissions user_permissions_user_id_module_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.user_permissions ADD CONSTRAINT user_permissions_user_id_module_key UNIQUE (user_id, module); -- -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.users ADD CONSTRAINT users_pkey PRIMARY KEY (id); -- -- Name: users users_username_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.users ADD CONSTRAINT users_username_key UNIQUE (username); -- -- Name: vcenters vcenters_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.vcenters ADD CONSTRAINT vcenters_pkey PRIMARY KEY (id); -- -- Name: zones zones_name_key; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.zones ADD CONSTRAINT zones_name_key UNIQUE (name); -- -- Name: zones zones_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.zones ADD CONSTRAINT zones_pkey PRIMARY KEY (id); -- -- Name: applications_ioda_libelle_uniq; Type: INDEX; Schema: public; Owner: - -- CREATE UNIQUE INDEX applications_ioda_libelle_uniq ON public.applications USING btree (ioda_libelle) WHERE (ioda_libelle IS NOT NULL); -- -- Name: idx_accord_campaign; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_accord_campaign ON public.campaign_accords USING btree (campaign_id); -- -- Name: idx_accord_contact; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_accord_contact ON public.campaign_accords USING btree (contact_id); -- -- Name: idx_app_map_name; Type: INDEX; Schema: public; Owner: - -- CREATE UNIQUE INDEX idx_app_map_name ON public.app_map USING btree (app_name); -- -- Name: idx_app_nom; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_app_nom ON public.applications USING btree (nom_court); -- -- Name: idx_audit_action; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_action ON public.audit_log USING btree (action); -- -- Name: idx_audit_date; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_date ON public.server_audit USING btree (audit_date DESC); -- -- Name: idx_audit_details; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_details ON public.audit_log USING gin (details); -- -- Name: idx_audit_entity; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_entity ON public.audit_log USING btree (entity_type, entity_id); -- -- Name: idx_audit_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_server ON public.server_audit USING btree (server_id); -- -- Name: idx_audit_status; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_status ON public.server_audit USING btree (status); -- -- Name: idx_audit_ts; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_ts ON public.audit_log USING btree ("timestamp" DESC); -- -- Name: idx_audit_user; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_audit_user ON public.audit_log USING btree (user_id); -- -- Name: idx_campaign_status; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_campaign_status ON public.campaigns USING btree (status); -- -- Name: idx_campaign_week; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_campaign_week ON public.campaigns USING btree (week_code, year); -- -- Name: idx_clm_cluster; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_clm_cluster ON public.cluster_members USING btree (cluster_id); -- -- Name: idx_clm_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_clm_server ON public.cluster_members USING btree (server_id); -- -- Name: idx_contacts_email; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_contacts_email ON public.contacts USING btree (email); -- -- Name: idx_contacts_token; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_contacts_token ON public.contacts USING btree (portal_token); -- -- Name: idx_corr_nonprod; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_corr_nonprod ON public.server_correspondance USING btree (nonprod_server_id); -- -- Name: idx_corr_prod; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_corr_prod ON public.server_correspondance USING btree (prod_server_id); -- -- Name: idx_cscope_contact; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_cscope_contact ON public.contact_scopes USING btree (contact_id); -- -- Name: idx_cscope_type; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_cscope_type ON public.contact_scopes USING btree (scope_type, scope_value); -- -- Name: idx_da_user; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_da_user ON public.default_assignments USING btree (user_id); -- -- Name: idx_domain_resp_domain; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_domain_resp_domain ON public.domain_responsables USING btree (domain_id); -- -- Name: idx_domenv_domain; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_domenv_domain ON public.domain_environments USING btree (domain_id); -- -- Name: idx_domenv_env; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_domenv_env ON public.domain_environments USING btree (environment_id); -- -- Name: idx_nfm_audit; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_nfm_audit ON public.network_flow_map USING btree (audit_id); -- -- Name: idx_nfm_dest; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_nfm_dest ON public.network_flow_map USING btree (dest_hostname); -- -- Name: idx_nfm_source; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_nfm_source ON public.network_flow_map USING btree (source_hostname); -- -- Name: idx_ph_campaign; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ph_campaign ON public.patch_history USING btree (campaign_id); -- -- Name: idx_ph_date; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ph_date ON public.patch_history USING btree (date_patch DESC); -- -- Name: idx_ph_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ph_server ON public.patch_history USING btree (server_id); -- -- Name: idx_pp_year_week; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_pp_year_week ON public.patch_planning USING btree (year, week_number); -- -- Name: idx_ps_campaign; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_campaign ON public.patch_sessions USING btree (campaign_id); -- -- Name: idx_ps_date_prevue; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_date_prevue ON public.patch_sessions USING btree (date_prevue); -- -- Name: idx_ps_date_realise; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_date_realise ON public.patch_sessions USING btree (date_realise); -- -- Name: idx_ps_intervenant; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_intervenant ON public.patch_sessions USING btree (intervenant_id); -- -- Name: idx_ps_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_server ON public.patch_sessions USING btree (server_id); -- -- Name: idx_ps_status; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_ps_status ON public.patch_sessions USING btree (status); -- -- Name: idx_pv_campaign; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_pv_campaign ON public.patch_validation USING btree (campaign_id, campaign_type); -- -- Name: idx_pv_patch_date; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_pv_patch_date ON public.patch_validation USING btree (patch_date DESC); -- -- Name: idx_pv_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_pv_server ON public.patch_validation USING btree (server_id); -- -- Name: idx_pv_status; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_pv_status ON public.patch_validation USING btree (status); -- -- Name: idx_qasset_hostname; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qasset_hostname ON public.qualys_assets USING btree (hostname); -- -- Name: idx_qasset_qualys_id; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qasset_qualys_id ON public.qualys_assets USING btree (qualys_asset_id); -- -- Name: idx_qasset_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qasset_server ON public.qualys_assets USING btree (server_id); -- -- Name: idx_qat_asset; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qat_asset ON public.qualys_asset_tags USING btree (qualys_asset_id); -- -- Name: idx_qat_tag; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qat_tag ON public.qualys_asset_tags USING btree (qualys_tag_id); -- -- Name: idx_qe_prod_pair; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qe_prod_pair ON public.quickwin_entries USING btree (prod_pair_entry_id) WHERE (prod_pair_entry_id IS NOT NULL); -- -- Name: idx_qtag_name; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qtag_name ON public.qualys_tags USING btree (name); -- -- Name: idx_qtag_qualys_id; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qtag_qualys_id ON public.qualys_tags USING btree (qualys_tag_id); -- -- Name: idx_qw_logs_level; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qw_logs_level ON public.quickwin_logs USING btree (run_id, level); -- -- Name: idx_qw_logs_run; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qw_logs_run ON public.quickwin_logs USING btree (run_id, created_at DESC); -- -- Name: idx_qwe_branch; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qwe_branch ON public.quickwin_entries USING btree (branch); -- -- Name: idx_qwe_run; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qwe_run ON public.quickwin_entries USING btree (run_id); -- -- Name: idx_qwe_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qwe_server ON public.quickwin_entries USING btree (server_id); -- -- Name: idx_qwsc_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_qwsc_server ON public.quickwin_server_config USING btree (server_id); -- -- Name: idx_saf_date; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_saf_date ON public.server_audit_full USING btree (audit_date DESC); -- -- Name: idx_saf_hostname; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_saf_hostname ON public.server_audit_full USING btree (hostname); -- -- Name: idx_saf_server_id; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_saf_server_id ON public.server_audit_full USING btree (server_id); -- -- Name: idx_sp_hprod; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_sp_hprod ON public.server_pairs USING btree (hprod_server_id); -- -- Name: idx_sp_prod; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_sp_prod ON public.server_pairs USING btree (prod_server_id); -- -- Name: idx_srv_app; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_app ON public.servers USING btree (application_id); -- -- Name: idx_srv_cluster; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_cluster ON public.servers USING btree (cluster_id); -- -- Name: idx_srv_db_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_db_server ON public.server_databases USING btree (server_id); -- -- Name: idx_srv_db_type; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_db_type ON public.server_databases USING btree (db_type); -- -- Name: idx_srv_domenv; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_domenv ON public.servers USING btree (domain_env_id); -- -- Name: idx_srv_etat; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_etat ON public.servers USING btree (etat); -- -- Name: idx_srv_hostname; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_hostname ON public.servers USING gin (hostname public.gin_trgm_ops); -- -- Name: idx_srv_intervenant; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_intervenant ON public.servers USING btree (default_intervenant_id); -- -- Name: idx_srv_licence; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_licence ON public.servers USING btree (licence_support); -- -- Name: idx_srv_machine; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_machine ON public.servers USING btree (machine_type); -- -- Name: idx_srv_os; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_os ON public.servers USING btree (os_family); -- -- Name: idx_srv_patch_owner; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_patch_owner ON public.servers USING btree (patch_os_owner); -- -- Name: idx_srv_qualys; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_qualys ON public.servers USING btree (qualys_asset_id) WHERE (qualys_asset_id IS NOT NULL); -- -- Name: idx_srv_tier; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_tier ON public.servers USING btree (tier); -- -- Name: idx_srv_zone; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srv_zone ON public.servers USING btree (zone_id); -- -- Name: idx_srvip_ip; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srvip_ip ON public.server_ips USING gist (ip_address inet_ops); -- -- Name: idx_srvip_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_srvip_server ON public.server_ips USING btree (server_id); -- -- Name: idx_sspec_server; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_sspec_server ON public.server_specifics USING btree (server_id); -- -- Name: idx_userperm_user; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_userperm_user ON public.user_permissions USING btree (user_id); -- -- Name: idx_users_role; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_users_role ON public.users USING btree (role); -- -- Name: idx_users_username; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX idx_users_username ON public.users USING btree (username); -- -- Name: qms_hostname_norm_uniq; Type: INDEX; Schema: public; Owner: - -- CREATE UNIQUE INDEX qms_hostname_norm_uniq ON public.qualys_missing_servers USING btree (hostname_norm); -- -- Name: qms_reason_idx; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX qms_reason_idx ON public.qualys_missing_servers USING btree (reason_category); -- -- Name: qms_server_id_idx; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX qms_server_id_idx ON public.qualys_missing_servers USING btree (server_id); -- -- Name: qms_status_idx; Type: INDEX; Schema: public; Owner: - -- CREATE INDEX qms_status_idx ON public.qualys_missing_servers USING btree (status); -- -- Name: users_email_unique_active; Type: INDEX; Schema: public; Owner: - -- CREATE UNIQUE INDEX users_email_unique_active ON public.users USING btree (lower((email)::text)) WHERE ((email IS NOT NULL) AND ((email)::text <> ''::text)); -- -- Name: qualys_missing_servers qms_updated_at_trg; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER qms_updated_at_trg BEFORE UPDATE ON public.qualys_missing_servers FOR EACH ROW EXECUTE FUNCTION public.qms_set_updated_at(); -- -- Name: applications trg_applications_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_applications_ts BEFORE UPDATE ON public.applications FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: campaigns trg_campaigns_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_campaigns_ts BEFORE UPDATE ON public.campaigns FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: domains trg_domains_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_domains_ts BEFORE UPDATE ON public.domains FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: patch_sessions trg_patch_sessions_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_patch_sessions_ts BEFORE UPDATE ON public.patch_sessions FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: servers trg_servers_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_servers_ts BEFORE UPDATE ON public.servers FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: servers trg_srv_domenv_count; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_srv_domenv_count AFTER INSERT OR DELETE OR UPDATE OF domain_env_id ON public.servers FOR EACH ROW EXECUTE FUNCTION public.update_domenv_count(); -- -- Name: server_specifics trg_sspec_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_sspec_ts BEFORE UPDATE ON public.server_specifics FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: users trg_users_ts; Type: TRIGGER; Schema: public; Owner: - -- CREATE TRIGGER trg_users_ts BEFORE UPDATE ON public.users FOR EACH ROW EXECUTE FUNCTION public.update_timestamp(); -- -- Name: audit_log audit_log_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.audit_log ADD CONSTRAINT audit_log_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: campaign_accord_details campaign_accord_details_accord_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accord_details ADD CONSTRAINT campaign_accord_details_accord_id_fkey FOREIGN KEY (accord_id) REFERENCES public.campaign_accords(id) ON DELETE CASCADE; -- -- Name: campaign_accord_details campaign_accord_details_session_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accord_details ADD CONSTRAINT campaign_accord_details_session_id_fkey FOREIGN KEY (session_id) REFERENCES public.patch_sessions(id); -- -- Name: campaign_accords campaign_accords_campaign_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accords ADD CONSTRAINT campaign_accords_campaign_id_fkey FOREIGN KEY (campaign_id) REFERENCES public.campaigns(id) ON DELETE CASCADE; -- -- Name: campaign_accords campaign_accords_contact_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_accords ADD CONSTRAINT campaign_accords_contact_id_fkey FOREIGN KEY (contact_id) REFERENCES public.contacts(id); -- -- Name: campaign_operator_limits campaign_operator_limits_campaign_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_operator_limits ADD CONSTRAINT campaign_operator_limits_campaign_id_fkey FOREIGN KEY (campaign_id) REFERENCES public.campaigns(id) ON DELETE CASCADE; -- -- Name: campaign_operator_limits campaign_operator_limits_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaign_operator_limits ADD CONSTRAINT campaign_operator_limits_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: campaigns campaigns_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.campaigns ADD CONSTRAINT campaigns_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users(id); -- -- Name: cluster_members cluster_members_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ADD CONSTRAINT cluster_members_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id) ON DELETE CASCADE; -- -- Name: cluster_members cluster_members_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.cluster_members ADD CONSTRAINT cluster_members_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: contact_scopes contact_scopes_contact_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.contact_scopes ADD CONSTRAINT contact_scopes_contact_id_fkey FOREIGN KEY (contact_id) REFERENCES public.contacts(id) ON DELETE CASCADE; -- -- Name: default_assignments default_assignments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.default_assignments ADD CONSTRAINT default_assignments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: domain_environments domain_environments_domain_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_environments ADD CONSTRAINT domain_environments_domain_id_fkey FOREIGN KEY (domain_id) REFERENCES public.domains(id) ON DELETE CASCADE; -- -- Name: domain_environments domain_environments_environment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_environments ADD CONSTRAINT domain_environments_environment_id_fkey FOREIGN KEY (environment_id) REFERENCES public.environments(id) ON DELETE CASCADE; -- -- Name: domain_responsables domain_responsables_domain_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.domain_responsables ADD CONSTRAINT domain_responsables_domain_id_fkey FOREIGN KEY (domain_id) REFERENCES public.domains(id) ON DELETE CASCADE; -- -- Name: import_history import_history_imported_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.import_history ADD CONSTRAINT import_history_imported_by_fkey FOREIGN KEY (imported_by) REFERENCES public.users(id); -- -- Name: network_flow_map network_flow_map_audit_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.network_flow_map ADD CONSTRAINT network_flow_map_audit_id_fkey FOREIGN KEY (audit_id) REFERENCES public.server_audit_full(id) ON DELETE CASCADE; -- -- Name: patch_history patch_history_campaign_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_history ADD CONSTRAINT patch_history_campaign_id_fkey FOREIGN KEY (campaign_id) REFERENCES public.campaigns(id); -- -- Name: patch_history patch_history_intervenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_history ADD CONSTRAINT patch_history_intervenant_id_fkey FOREIGN KEY (intervenant_id) REFERENCES public.users(id); -- -- Name: patch_history patch_history_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_history ADD CONSTRAINT patch_history_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id); -- -- Name: patch_planning patch_planning_domain_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_planning ADD CONSTRAINT patch_planning_domain_code_fkey FOREIGN KEY (domain_code) REFERENCES public.domains(code); -- -- Name: patch_sessions patch_sessions_campaign_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ADD CONSTRAINT patch_sessions_campaign_id_fkey FOREIGN KEY (campaign_id) REFERENCES public.campaigns(id) ON DELETE CASCADE; -- -- Name: patch_sessions patch_sessions_intervenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ADD CONSTRAINT patch_sessions_intervenant_id_fkey FOREIGN KEY (intervenant_id) REFERENCES public.users(id); -- -- Name: patch_sessions patch_sessions_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_sessions ADD CONSTRAINT patch_sessions_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id); -- -- Name: patch_validation patch_validation_marked_by_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_validation ADD CONSTRAINT patch_validation_marked_by_user_id_fkey FOREIGN KEY (marked_by_user_id) REFERENCES public.users(id); -- -- Name: patch_validation patch_validation_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_validation ADD CONSTRAINT patch_validation_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: patch_validation patch_validation_validated_by_contact_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.patch_validation ADD CONSTRAINT patch_validation_validated_by_contact_id_fkey FOREIGN KEY (validated_by_contact_id) REFERENCES public.contacts(id); -- -- Name: qualys_assets qualys_assets_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_assets ADD CONSTRAINT qualys_assets_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id); -- -- Name: qualys_missing_servers qualys_missing_servers_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.qualys_missing_servers ADD CONSTRAINT qualys_missing_servers_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE SET NULL; -- -- Name: quickwin_entries quickwin_entries_prod_pair_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_entries ADD CONSTRAINT quickwin_entries_prod_pair_entry_id_fkey FOREIGN KEY (prod_pair_entry_id) REFERENCES public.quickwin_entries(id) ON DELETE SET NULL; -- -- Name: quickwin_entries quickwin_entries_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_entries ADD CONSTRAINT quickwin_entries_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.quickwin_runs(id) ON DELETE CASCADE; -- -- Name: quickwin_entries quickwin_entries_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_entries ADD CONSTRAINT quickwin_entries_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id); -- -- Name: quickwin_logs quickwin_logs_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_logs ADD CONSTRAINT quickwin_logs_entry_id_fkey FOREIGN KEY (entry_id) REFERENCES public.quickwin_entries(id) ON DELETE SET NULL; -- -- Name: quickwin_logs quickwin_logs_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_logs ADD CONSTRAINT quickwin_logs_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.quickwin_runs(id) ON DELETE CASCADE; -- -- Name: quickwin_runs quickwin_runs_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_runs ADD CONSTRAINT quickwin_runs_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users(id); -- -- Name: quickwin_server_config quickwin_server_config_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.quickwin_server_config ADD CONSTRAINT quickwin_server_config_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_audit_full server_audit_full_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit_full ADD CONSTRAINT server_audit_full_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id); -- -- Name: server_audit server_audit_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_audit ADD CONSTRAINT server_audit_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_correspondance server_correspondance_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ADD CONSTRAINT server_correspondance_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users(id); -- -- Name: server_correspondance server_correspondance_nonprod_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ADD CONSTRAINT server_correspondance_nonprod_server_id_fkey FOREIGN KEY (nonprod_server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_correspondance server_correspondance_prod_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_correspondance ADD CONSTRAINT server_correspondance_prod_server_id_fkey FOREIGN KEY (prod_server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_databases server_databases_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_databases ADD CONSTRAINT server_databases_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_ips server_ips_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_ips ADD CONSTRAINT server_ips_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_pairs server_pairs_hprod_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_pairs ADD CONSTRAINT server_pairs_hprod_server_id_fkey FOREIGN KEY (hprod_server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_pairs server_pairs_prod_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_pairs ADD CONSTRAINT server_pairs_prod_server_id_fkey FOREIGN KEY (prod_server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: server_specifics server_specifics_dependency_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_specifics ADD CONSTRAINT server_specifics_dependency_server_id_fkey FOREIGN KEY (dependency_server_id) REFERENCES public.servers(id); -- -- Name: server_specifics server_specifics_server_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.server_specifics ADD CONSTRAINT server_specifics_server_id_fkey FOREIGN KEY (server_id) REFERENCES public.servers(id) ON DELETE CASCADE; -- -- Name: servers servers_application_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_application_id_fkey FOREIGN KEY (application_id) REFERENCES public.applications(id); -- -- Name: servers servers_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id); -- -- Name: servers servers_created_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_created_by_fkey FOREIGN KEY (created_by) REFERENCES public.users(id); -- -- Name: servers servers_default_intervenant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_default_intervenant_id_fkey FOREIGN KEY (default_intervenant_id) REFERENCES public.users(id); -- -- Name: servers servers_domain_env_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_domain_env_id_fkey FOREIGN KEY (domain_env_id) REFERENCES public.domain_environments(id); -- -- Name: servers servers_vcenter_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_vcenter_id_fkey FOREIGN KEY (vcenter_id) REFERENCES public.vcenters(id); -- -- Name: servers servers_zone_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.servers ADD CONSTRAINT servers_zone_id_fkey FOREIGN KEY (zone_id) REFERENCES public.zones(id); -- -- Name: settings settings_updated_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.settings ADD CONSTRAINT settings_updated_by_fkey FOREIGN KEY (updated_by) REFERENCES public.users(id); -- -- Name: user_permissions user_permissions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- ALTER TABLE ONLY public.user_permissions ADD CONSTRAINT user_permissions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE; -- -- PostgreSQL database dump complete --