This commit is contained in:
parent
3da7d4e3d7
commit
7c2323fb64
292
scripts/salt_schema.sql
Normal file
292
scripts/salt_schema.sql
Normal file
@ -0,0 +1,292 @@
|
||||
--
|
||||
-- PostgreSQL database dump
|
||||
--
|
||||
|
||||
-- Dumped from database version 13.10 (Debian 13.10-1.pgdg110+1)
|
||||
-- Dumped by pg_dump version 13.10 (Debian 13.10-1.pgdg110+1)
|
||||
|
||||
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: btree_gin; Type: EXTENSION; Schema: -; Owner: -
|
||||
--
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS btree_gin WITH SCHEMA public;
|
||||
|
||||
|
||||
--
|
||||
-- Name: EXTENSION btree_gin; Type: COMMENT; Schema: -; Owner:
|
||||
--
|
||||
|
||||
COMMENT ON EXTENSION btree_gin IS 'support for indexing common datatypes in GIN';
|
||||
|
||||
|
||||
--
|
||||
-- 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: archive_after_n_days(integer); Type: FUNCTION; Schema: public; Owner: paul
|
||||
--
|
||||
|
||||
CREATE FUNCTION public.archive_after_n_days(days integer) RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
INSERT INTO salt_events_archive (id, tag, data, alter_time, master_id) (SELECT id, tag, data, alter_time, master_id FROM salt_events WHERE alter_time < current_date - format('%s day', days)::interval);
|
||||
DELETE FROM salt_events WHERE alter_time < current_date - format('%s day', days)::interval;
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
ALTER FUNCTION public.archive_after_n_days(days integer) OWNER TO paul;
|
||||
|
||||
--
|
||||
-- Name: delete_inc(text); Type: FUNCTION; Schema: public; Owner: paul
|
||||
--
|
||||
|
||||
CREATE FUNCTION public.delete_inc(sdate text) RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
DELETE FROM salt_events_archive WHERE alter_time < TO_DATE(sdate, "%Y-%m-%d %H:%i:%s");
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
ALTER FUNCTION public.delete_inc(sdate text) OWNER TO paul;
|
||||
|
||||
--
|
||||
-- Name: drop_archive_after_n_days(integer); Type: FUNCTION; Schema: public; Owner: paul
|
||||
--
|
||||
|
||||
CREATE FUNCTION public.drop_archive_after_n_days(days integer) RETURNS void
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
DELETE FROM salt_events_archive WHERE alter_time <= current_date - format('%s day', days)::interval;
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
ALTER FUNCTION public.drop_archive_after_n_days(days integer) OWNER TO paul;
|
||||
|
||||
--
|
||||
-- Name: seq_salt_events_id; Type: SEQUENCE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE SEQUENCE public.seq_salt_events_id
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE public.seq_salt_events_id OWNER TO salt;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_table_access_method = heap;
|
||||
|
||||
--
|
||||
-- Name: salt_events; Type: TABLE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE TABLE public.salt_events (
|
||||
id bigint DEFAULT nextval('public.seq_salt_events_id'::regclass) NOT NULL,
|
||||
tag character varying(255) NOT NULL,
|
||||
data jsonb NOT NULL,
|
||||
alter_time timestamp with time zone DEFAULT now(),
|
||||
master_id character varying(255) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.salt_events OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: auth; Type: VIEW; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE VIEW public.auth AS
|
||||
SELECT salt_events.alter_time AS "time",
|
||||
json_extract_path_text((salt_events.data)::json, VARIADIC ARRAY['id'::text]) AS hostname
|
||||
FROM public.salt_events
|
||||
WHERE ((salt_events.tag)::text = 'salt/auth'::text)
|
||||
ORDER BY salt_events.alter_time DESC;
|
||||
|
||||
|
||||
ALTER TABLE public.auth OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: highstate; Type: VIEW; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE VIEW public.highstate AS
|
||||
SELECT se.id,
|
||||
se.tag,
|
||||
se.data,
|
||||
se.alter_time
|
||||
FROM public.salt_events se
|
||||
WHERE (jsonb_extract_path_text(se.data, VARIADIC ARRAY['fun'::text]) = 'state.highstate'::text)
|
||||
ORDER BY se.id DESC
|
||||
LIMIT 100;
|
||||
|
||||
|
||||
ALTER TABLE public.highstate OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: highstate_summary; Type: VIEW; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE VIEW public.highstate_summary AS
|
||||
SELECT se.id,
|
||||
se.tag,
|
||||
se.alter_time AS "time",
|
||||
(se.data ->> 'id'::text) AS hostname,
|
||||
split_part(dt.key, '_|-'::text, 2) AS salt_state,
|
||||
(dt.value ->> 'comment'::text) AS comment
|
||||
FROM public.salt_events se,
|
||||
LATERAL jsonb_each((se.data -> 'return'::text)) dt(key, value)
|
||||
WHERE (((se.data ->> 'fun'::text) = 'state.highstate'::text) AND ((se.data ->> 'id'::text) IS NOT NULL) AND ((se.data ->> 'success'::text) IS NOT NULL) AND (NOT ((dt.value ->> 'result'::text))::boolean) AND (jsonb_typeof((se.data -> 'return'::text)) = 'object'::text) AND (se.alter_time > (CURRENT_DATE - '1 day'::interval)))
|
||||
ORDER BY se.alter_time DESC, dt.key DESC;
|
||||
|
||||
|
||||
ALTER TABLE public.highstate_summary OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: jids; Type: TABLE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE TABLE public.jids (
|
||||
jid character varying(20) NOT NULL,
|
||||
load text NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.jids OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: pillar; Type: TABLE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE TABLE public.pillar (
|
||||
value1 character varying,
|
||||
minion_pattern character varying
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.pillar OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: salt_events_archive; Type: TABLE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE TABLE public.salt_events_archive (
|
||||
id bigint NOT NULL,
|
||||
tag character varying(255) NOT NULL,
|
||||
data jsonb NOT NULL,
|
||||
alter_time timestamp with time zone,
|
||||
master_id character varying(255) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.salt_events_archive OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: salt_returns; Type: TABLE; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE TABLE public.salt_returns (
|
||||
fun character varying(50) NOT NULL,
|
||||
jid character varying(255) NOT NULL,
|
||||
return text NOT NULL,
|
||||
full_ret text,
|
||||
id character varying(255) NOT NULL,
|
||||
success character varying(10) NOT NULL,
|
||||
alter_time timestamp with time zone DEFAULT now()
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE public.salt_returns OWNER TO salt;
|
||||
|
||||
--
|
||||
-- Name: jids jids_pkey; Type: CONSTRAINT; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.jids
|
||||
ADD CONSTRAINT jids_pkey PRIMARY KEY (jid);
|
||||
|
||||
|
||||
--
|
||||
-- Name: salt_events salt_events_id_key; Type: CONSTRAINT; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.salt_events
|
||||
ADD CONSTRAINT salt_events_id_key UNIQUE (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_alter_time; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_alter_time ON public.salt_events USING btree (alter_time);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_salt_events_tag; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_salt_events_tag ON public.salt_events USING btree (tag);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_salt_returns_fun; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_salt_returns_fun ON public.salt_returns USING btree (fun);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_salt_returns_id; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_salt_returns_id ON public.salt_returns USING btree (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_salt_returns_jid; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_salt_returns_jid ON public.salt_returns USING btree (jid);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idx_salt_returns_updated; Type: INDEX; Schema: public; Owner: salt
|
||||
--
|
||||
|
||||
CREATE INDEX idx_salt_returns_updated ON public.salt_returns USING btree (alter_time);
|
||||
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
Loading…
Reference in New Issue
Block a user