1767 lines
51 KiB
PL/PgSQL
1767 lines
51 KiB
PL/PgSQL
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
\restrict M18FnaokuZFKQZjWu9az6dzOO6o2cSlpJgAocs2PXfRbmzHVcXEXaiZZcaOPZko
|
|
|
|
-- Dumped from database version 16.0
|
|
-- Dumped by pg_dump version 17.6
|
|
|
|
-- Started on 2025-10-24 14:30:46
|
|
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET transaction_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;
|
|
|
|
--
|
|
-- TOC entry 6 (class 2615 OID 1891106)
|
|
-- Name: def; Type: SCHEMA; Schema: -; Owner: dbo
|
|
--
|
|
|
|
CREATE SCHEMA def;
|
|
|
|
|
|
ALTER SCHEMA def OWNER TO dbo;
|
|
|
|
--
|
|
-- TOC entry 7 (class 2615 OID 1891160)
|
|
-- Name: ngcloud_ru; Type: SCHEMA; Schema: -; Owner: vc_billing
|
|
--
|
|
|
|
CREATE SCHEMA ngcloud_ru;
|
|
|
|
|
|
ALTER SCHEMA ngcloud_ru OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 8 (class 2615 OID 2160630)
|
|
-- Name: s3billing; Type: SCHEMA; Schema: -; Owner: s3billing
|
|
--
|
|
|
|
CREATE SCHEMA s3billing;
|
|
|
|
|
|
ALTER SCHEMA s3billing OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 246 (class 1255 OID 2426393)
|
|
-- Name: billing(timestamp with time zone, timestamp with time zone, character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing(_ds timestamp with time zone, _df timestamp with time zone, _user character varying) RETURNS TABLE(bucket_name character varying, placement character varying, size numeric, put numeric, get numeric, bytes_sent numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
SELECT
|
|
s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,coalesce(round(sum(usage_rgw_main_size_actual)/(24*(SELECT DATE_PART('day', (_ds-_df))))),0) AS size
|
|
,coalesce(s2.get, 0) AS get
|
|
,coalesce(s2.put, 0) AS put
|
|
,coalesce(s2.bytes_sent, 0) as bytes_sent
|
|
FROM s3billing.bucket_stat
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_stat.placement_id=s3billing.placement.id
|
|
INNER JOIN s3billing.bucket_info ON s3billing.bucket_stat.bucket_id=s3billing.bucket_info.id
|
|
LEFT JOIN (
|
|
SELECT
|
|
s1.bucket_id AS bucket_id
|
|
,s1.bucket_name AS bucket_name
|
|
,s1.placement AS placement
|
|
,coalesce(sum(s1.get) ,0) AS get
|
|
,coalesce(sum(s1.put) ,0) AS put
|
|
,coalesce(sum(s1.bytes_sent), 0) AS bytes_sent
|
|
FROM (
|
|
SELECT
|
|
s3billing.bucket_info.id AS bucket_id
|
|
,s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'get%'
|
|
OR s3billing.category.name LIKE 'head%'
|
|
OR s3billing.category.name LIKE 'options%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS get
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'put%'
|
|
OR s3billing.category.name LIKE 'post%'
|
|
OR s3billing.category.name LIKE 'patch%'
|
|
OR s3billing.category.name LIKE 'list%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS put
|
|
,coalesce(sum(usage_bucket_by_user.bytes_sent), 0) AS bytes_sent
|
|
FROM
|
|
s3billing.usage_bucket_by_user
|
|
INNER JOIN s3billing.bucket_info ON s3billing.usage_bucket_by_user.bucketid = s3billing.bucket_info.id
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
INNER JOIN s3billing.user_info ON s3billing.usage_bucket_by_user.user_id = s3billing.user_info.id
|
|
INNER JOIN s3billing.category ON s3billing.usage_bucket_by_user.category_id = s3billing.category.id
|
|
|
|
WHERE
|
|
s3billing.user_info.name=_user
|
|
AND s3billing.usage_bucket_by_user.time >= _ds
|
|
AND s3billing.usage_bucket_by_user.time < _df
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.category.name
|
|
,s3billing.bucket_info.id
|
|
) AS s1
|
|
GROUP BY
|
|
s1.bucket_name
|
|
,s1.bucket_id
|
|
,s1.placement
|
|
ORDER BY
|
|
s1.placement
|
|
,s1.bucket_name
|
|
) AS s2 ON s2.bucket_id = s3billing.bucket_stat.bucket_id
|
|
WHERE owner=_user
|
|
AND timestamp_addition >= _ds
|
|
AND timestamp_addition < _df
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.bucket_stat.bucket_id
|
|
,s2.get
|
|
,s2.put
|
|
,s2.bytes_sent
|
|
ORDER BY
|
|
s3billing.placement.name
|
|
,s3billing.bucket_info.name
|
|
;
|
|
END
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing(_ds timestamp with time zone, _df timestamp with time zone, _user character varying) OWNER TO dsorokin;
|
|
|
|
--
|
|
-- TOC entry 260 (class 1255 OID 2434574)
|
|
-- Name: billing_per_user(character varying, character varying, character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing_per_user(_ds character varying, _df character varying, _user character varying) RETURNS TABLE(bucket_name character varying, placement character varying, size numeric, get numeric, put numeric, bytes_sent numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
|
|
SELECT
|
|
s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,coalesce(round(sum(usage_rgw_main_size_actual)/
|
|
(SELECT (DATE_PART('day',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)*24+
|
|
DATE_PART('hour',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)))
|
|
|
|
)::numeric,0) AS size
|
|
,coalesce(s2.get, 0) AS get
|
|
,coalesce(s2.put, 0) AS put
|
|
,coalesce(s2.bytes_sent, 0) as bytes_sent
|
|
FROM s3billing.bucket_stat
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_stat.placement_id=s3billing.placement.id
|
|
INNER JOIN s3billing.bucket_info ON s3billing.bucket_stat.bucket_id=s3billing.bucket_info.id
|
|
LEFT JOIN (
|
|
SELECT
|
|
s1.bucket_id AS bucket_id
|
|
,s1.bucket_name AS bucket_name
|
|
,s1.placement AS placement
|
|
,coalesce(sum(s1.get) ,0) AS get
|
|
,coalesce(sum(s1.put) ,0) AS put
|
|
,coalesce(sum(s1.bytes_sent), 0) AS bytes_sent
|
|
FROM (
|
|
SELECT
|
|
s3billing.bucket_info.id AS bucket_id
|
|
,s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'get%'
|
|
OR s3billing.category.name LIKE 'head%'
|
|
OR s3billing.category.name LIKE 'options%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS get
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'put%'
|
|
OR s3billing.category.name LIKE 'post%'
|
|
OR s3billing.category.name LIKE 'patch%'
|
|
OR s3billing.category.name LIKE 'list%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS put
|
|
,coalesce(sum(usage_bucket_by_user.bytes_sent), 0) AS bytes_sent
|
|
|
|
FROM
|
|
s3billing.usage_bucket_by_user
|
|
INNER JOIN s3billing.bucket_info ON s3billing.usage_bucket_by_user.bucketid = s3billing.bucket_info.id
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
INNER JOIN s3billing.user_info ON s3billing.usage_bucket_by_user.user_id = s3billing.user_info.id
|
|
INNER JOIN s3billing.category ON s3billing.usage_bucket_by_user.category_id = s3billing.category.id
|
|
|
|
WHERE
|
|
s3billing.user_info.name=_user
|
|
AND s3billing.usage_bucket_by_user.time >=TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND s3billing.usage_bucket_by_user.time < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.category.name
|
|
,s3billing.bucket_info.id
|
|
) AS s1
|
|
|
|
GROUP BY
|
|
s1.bucket_name
|
|
,s1.bucket_id
|
|
,s1.placement
|
|
|
|
ORDER BY
|
|
s1.placement
|
|
,s1.bucket_name
|
|
|
|
) AS s2 ON s2.bucket_id = s3billing.bucket_stat.bucket_id
|
|
WHERE owner=_user
|
|
AND timestamp_addition >= TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND timestamp_addition < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.bucket_stat.bucket_id
|
|
,s2.get
|
|
,s2.put
|
|
,s2.bytes_sent
|
|
ORDER BY
|
|
s3billing.placement.name
|
|
,s3billing.bucket_info.name
|
|
;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing_per_user(_ds character varying, _df character varying, _user character varying) OWNER TO dsorokin;
|
|
|
|
--
|
|
-- TOC entry 261 (class 1255 OID 2435525)
|
|
-- Name: billing_per_user_fix_pl(character varying, character varying, character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing_per_user_fix_pl(_ds character varying, _df character varying, _user character varying) RETURNS TABLE(bucket_name character varying, placement character varying, size numeric, get numeric, put numeric, bytes_sent numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
|
|
SELECT
|
|
s3billing.bucket_info.name AS bucket_name,
|
|
(case
|
|
when ( s3billing.placement.name = 'default-placement') then 'HOT'
|
|
WHEN ( not s3billing.placement.name = 'default-placement' ) THEN s3billing.placement.name
|
|
end
|
|
) as placement,
|
|
coalesce(round(sum(usage_rgw_main_size_actual)/
|
|
(SELECT (DATE_PART('day',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)*24+
|
|
DATE_PART('hour',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)))
|
|
|
|
)::numeric,0) AS size
|
|
,coalesce(s2.get, 0) AS get
|
|
,coalesce(s2.put, 0) AS put
|
|
,coalesce(s2.bytes_sent, 0) as bytes_sent
|
|
FROM s3billing.bucket_stat
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_stat.placement_id=s3billing.placement.id
|
|
INNER JOIN s3billing.bucket_info ON s3billing.bucket_stat.bucket_id=s3billing.bucket_info.id
|
|
LEFT JOIN (
|
|
SELECT
|
|
s1.bucket_id AS bucket_id
|
|
,s1.bucket_name AS bucket_name,
|
|
(case
|
|
when ( s1.placement = 'default-placement') then 'HOT'
|
|
WHEN ( not s1.placement = 'default-placement' ) THEN s1.placement
|
|
end
|
|
) as placement
|
|
,coalesce(sum(s1.get) ,0) AS get
|
|
,coalesce(sum(s1.put) ,0) AS put
|
|
,coalesce(sum(s1.bytes_sent), 0) AS bytes_sent
|
|
FROM (
|
|
SELECT
|
|
s3billing.bucket_info.id AS bucket_id
|
|
,s3billing.bucket_info.name AS bucket_name
|
|
,(case
|
|
when ( s3billing.placement.name = 'default-placement') then 'HOT'
|
|
WHEN ( not s3billing.placement.name = 'default-placement' ) THEN s3billing.placement.name
|
|
end
|
|
) as placement
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'get%'
|
|
OR s3billing.category.name LIKE 'head%'
|
|
OR s3billing.category.name LIKE 'options%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS get
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'put%'
|
|
OR s3billing.category.name LIKE 'post%'
|
|
OR s3billing.category.name LIKE 'patch%'
|
|
OR s3billing.category.name LIKE 'list%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS put
|
|
,coalesce(sum(usage_bucket_by_user.bytes_sent), 0) AS bytes_sent
|
|
|
|
FROM
|
|
s3billing.usage_bucket_by_user
|
|
INNER JOIN s3billing.bucket_info ON s3billing.usage_bucket_by_user.bucketid = s3billing.bucket_info.id
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
INNER JOIN s3billing.user_info ON s3billing.usage_bucket_by_user.user_id = s3billing.user_info.id
|
|
INNER JOIN s3billing.category ON s3billing.usage_bucket_by_user.category_id = s3billing.category.id
|
|
|
|
WHERE
|
|
s3billing.user_info.name=_user
|
|
AND s3billing.usage_bucket_by_user.time >=TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND s3billing.usage_bucket_by_user.time < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.category.name
|
|
,s3billing.bucket_info.id
|
|
) AS s1
|
|
|
|
GROUP BY
|
|
s1.bucket_name
|
|
,s1.bucket_id
|
|
,s1.placement
|
|
|
|
ORDER BY
|
|
s1.placement
|
|
,s1.bucket_name
|
|
|
|
) AS s2 ON s2.bucket_id = s3billing.bucket_stat.bucket_id
|
|
WHERE owner=_user
|
|
AND timestamp_addition >= TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND timestamp_addition < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.bucket_stat.bucket_id
|
|
,s2.get
|
|
,s2.put
|
|
,s2.bytes_sent
|
|
ORDER BY
|
|
s3billing.placement.name
|
|
,s3billing.bucket_info.name
|
|
;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing_per_user_fix_pl(_ds character varying, _df character varying, _user character varying) OWNER TO dsorokin;
|
|
|
|
--
|
|
-- TOC entry 263 (class 1255 OID 2437728)
|
|
-- Name: billing_per_user_fix_pl_sv(character varying, character varying, character varying); Type: FUNCTION; Schema: s3billing; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing_per_user_fix_pl_sv(ds character varying, df character varying, _user character varying) RETURNS TABLE(bucket_name character varying, placement character varying, size numeric, get numeric, put numeric, bytes_sent numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
|
|
DECLARE
|
|
_ds TIMESTAMP;
|
|
_df TIMESTAMP;
|
|
_days INT;
|
|
_hours INT;
|
|
|
|
BEGIN
|
|
SELECT TO_TIMESTAMP(ds, 'YYYY-MM-DD HH24:MI:SS') INTO _ds;
|
|
SELECT TO_TIMESTAMP(df, 'YYYY-MM-DD HH24:MI:SS') INTO _df;
|
|
SELECT DATE_PART('day', _df - _ds) INTO _days;
|
|
SELECT CEIL(EXTRACT(EPOCH FROM (_df - _ds))/3600) INTO _hours;
|
|
|
|
RETURN QUERY
|
|
|
|
SELECT
|
|
s3billing.bucket_info.name AS bucket_name,
|
|
(CASE
|
|
WHEN ( s3billing.placement.name = 'default-placement') THEN 'HOT'
|
|
WHEN ( not s3billing.placement.name = 'default-placement' ) THEN s3billing.placement.name
|
|
END
|
|
) AS placement
|
|
,coalesce(ceil(sum(usage_rgw_main_size_actual)/_days)::numeric, 0) AS size
|
|
,coalesce(s2.get, 0) AS get
|
|
,coalesce(s2.put, 0) AS put
|
|
,coalesce(s2.bytes_sent, 0) AS bytes_sent
|
|
FROM s3billing.bucket_stat
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_stat.placement_id=s3billing.placement.id
|
|
INNER JOIN s3billing.bucket_info ON s3billing.bucket_stat.bucket_id=s3billing.bucket_info.id
|
|
LEFT JOIN (
|
|
SELECT
|
|
s1.bucket_id AS bucket_id
|
|
,s1.bucket_name AS bucket_name
|
|
,(CASE
|
|
WHEN ( s1.placement = 'default-placement') THEN 'HOT'
|
|
WHEN ( not s1.placement = 'default-placement' ) THEN s1.placement
|
|
END
|
|
) AS placement
|
|
,coalesce(sum(s1.get) ,0) AS get
|
|
,coalesce(sum(s1.put) ,0) AS put
|
|
,coalesce(sum(s1.bytes_sent), 0) AS bytes_sent
|
|
FROM (
|
|
SELECT
|
|
s3billing.bucket_info.id AS bucket_id
|
|
,s3billing.bucket_info.name AS bucket_name
|
|
,(CASE
|
|
WHEN ( s3billing.placement.name = 'default-placement') THEN 'HOT'
|
|
WHEN ( not s3billing.placement.name = 'default-placement' ) THEN s3billing.placement.name
|
|
END
|
|
) AS placement
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'get%'
|
|
OR s3billing.category.name LIKE 'head%'
|
|
OR s3billing.category.name LIKE 'options%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END
|
|
) AS get
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'put%'
|
|
OR s3billing.category.name LIKE 'post%'
|
|
OR s3billing.category.name LIKE 'patch%'
|
|
OR s3billing.category.name LIKE 'list%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END
|
|
) AS put
|
|
,coalesce(sum(usage_bucket_by_user.bytes_sent), 0) AS bytes_sent
|
|
|
|
FROM
|
|
s3billing.usage_bucket_by_user
|
|
INNER JOIN s3billing.bucket_info ON s3billing.usage_bucket_by_user.bucketid = s3billing.bucket_info.id
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
INNER JOIN s3billing.user_info ON s3billing.usage_bucket_by_user.user_id = s3billing.user_info.id
|
|
INNER JOIN s3billing.category ON s3billing.usage_bucket_by_user.category_id = s3billing.category.id
|
|
|
|
WHERE
|
|
s3billing.user_info.name=_user
|
|
AND s3billing.usage_bucket_by_user.time >= _ds
|
|
AND s3billing.usage_bucket_by_user.time < _df
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.category.name
|
|
,s3billing.bucket_info.id
|
|
) AS s1
|
|
|
|
GROUP BY
|
|
s1.bucket_name
|
|
,s1.bucket_id
|
|
,s1.placement
|
|
|
|
ORDER BY
|
|
s1.placement
|
|
,s1.bucket_name
|
|
|
|
) AS s2 ON s2.bucket_id = s3billing.bucket_stat.bucket_id
|
|
WHERE owner=_user
|
|
AND timestamp_addition >= _ds
|
|
AND timestamp_addition < _df
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.bucket_stat.bucket_id
|
|
,s2.get
|
|
,s2.put
|
|
,s2.bytes_sent
|
|
ORDER BY
|
|
s3billing.placement.name
|
|
,s3billing.bucket_info.name
|
|
;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing_per_user_fix_pl_sv(ds character varying, df character varying, _user character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 262 (class 1255 OID 2436167)
|
|
-- Name: billing_per_user_summary(character varying, character varying, character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing_per_user_summary(_ds character varying, _df character varying, _user character varying) RETURNS TABLE(placement character varying, size_gb numeric, get_10k numeric, put_10k numeric, bytes_sent_gb numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
(
|
|
select
|
|
billing_per_user_fix_pl.placement as placement,
|
|
(CASE
|
|
WHEN ( billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN greatest(ceil(sum(size)/1024/1024/1024)-1,0)
|
|
WHEN ( not billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN ceil(sum(size)/1024/1024/1024)
|
|
END) AS size_GB,
|
|
(CASE
|
|
WHEN ( billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN greatest(ceil(sum(get)/10000)-10,0)
|
|
WHEN ( not billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN ceil(sum(get)/10000)
|
|
END) AS get_10k,
|
|
(CASE
|
|
WHEN ( billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN greatest(ceil(sum(put)/10000)-1,0)
|
|
WHEN ( not billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN ceil(sum(put)/10000)
|
|
END) AS put_10k,
|
|
(CASE
|
|
WHEN ( billing_per_user_fix_pl.placement = 'HOT'
|
|
) then greatest(ceil(sum(bytes_sent)/1024/1024/1024)-100,0)
|
|
WHEN ( not billing_per_user_fix_pl.placement = 'HOT'
|
|
) THEN ceil(sum(bytes_sent)/1024/1024/1024)
|
|
END) AS bytes_sent_GB
|
|
from s3billing.billing_per_user_fix_pl(_ds,_df,_user)
|
|
group by billing_per_user_fix_pl.placement
|
|
UNION all
|
|
select
|
|
'HOT_FREE_LIMIT' as placement,
|
|
'1' AS size_GB,
|
|
'10' AS get_10k,
|
|
'1' AS put_10k,
|
|
'100' AS bytes_sent_GB
|
|
);
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing_per_user_summary(_ds character varying, _df character varying, _user character varying) OWNER TO dsorokin;
|
|
|
|
--
|
|
-- TOC entry 259 (class 1255 OID 2426971)
|
|
-- Name: billing_varchar(character varying, character varying, character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.billing_varchar(_ds character varying, _df character varying, _user character varying) RETURNS TABLE(bucket_name character varying, placement character varying, size numeric, get numeric, put numeric, bytes_sent numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
|
|
SELECT
|
|
s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,coalesce(round(sum(usage_rgw_main_size_actual)/
|
|
(SELECT (DATE_PART('day',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)*24+
|
|
DATE_PART('hour',
|
|
((TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS'))
|
|
-TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS'))
|
|
)))
|
|
|
|
)::numeric,0) AS size
|
|
,coalesce(s2.get, 0) AS get
|
|
,coalesce(s2.put, 0) AS put
|
|
,coalesce(s2.bytes_sent, 0) as bytes_sent
|
|
FROM s3billing.bucket_stat
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_stat.placement_id=s3billing.placement.id
|
|
INNER JOIN s3billing.bucket_info ON s3billing.bucket_stat.bucket_id=s3billing.bucket_info.id
|
|
LEFT JOIN (
|
|
SELECT
|
|
s1.bucket_id AS bucket_id
|
|
,s1.bucket_name AS bucket_name
|
|
,s1.placement AS placement
|
|
,coalesce(sum(s1.get) ,0) AS get
|
|
,coalesce(sum(s1.put) ,0) AS put
|
|
,coalesce(sum(s1.bytes_sent), 0) AS bytes_sent
|
|
FROM (
|
|
SELECT
|
|
s3billing.bucket_info.id AS bucket_id
|
|
,s3billing.bucket_info.name AS bucket_name
|
|
,s3billing.placement.name AS placement
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'get%'
|
|
OR s3billing.category.name LIKE 'head%'
|
|
OR s3billing.category.name LIKE 'options%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS get
|
|
,(CASE
|
|
WHEN ( s3billing.category.name LIKE 'put%'
|
|
OR s3billing.category.name LIKE 'post%'
|
|
OR s3billing.category.name LIKE 'patch%'
|
|
OR s3billing.category.name LIKE 'list%'
|
|
) THEN coalesce(sum(ops), 0)
|
|
END) AS put
|
|
,coalesce(sum(usage_bucket_by_user.bytes_sent), 0) AS bytes_sent
|
|
|
|
FROM
|
|
s3billing.usage_bucket_by_user
|
|
INNER JOIN s3billing.bucket_info ON s3billing.usage_bucket_by_user.bucketid = s3billing.bucket_info.id
|
|
INNER JOIN s3billing.placement ON s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
INNER JOIN s3billing.user_info ON s3billing.usage_bucket_by_user.user_id = s3billing.user_info.id
|
|
INNER JOIN s3billing.category ON s3billing.usage_bucket_by_user.category_id = s3billing.category.id
|
|
|
|
WHERE
|
|
s3billing.user_info.name=_user
|
|
AND s3billing.usage_bucket_by_user.time >=TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND s3billing.usage_bucket_by_user.time < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.category.name
|
|
,s3billing.bucket_info.id
|
|
) AS s1
|
|
|
|
GROUP BY
|
|
s1.bucket_name
|
|
,s1.bucket_id
|
|
,s1.placement
|
|
|
|
ORDER BY
|
|
s1.placement
|
|
,s1.bucket_name
|
|
|
|
) AS s2 ON s2.bucket_id = s3billing.bucket_stat.bucket_id
|
|
WHERE owner=_user
|
|
AND timestamp_addition >= TO_TIMESTAMP(_ds, 'YYYY-MM-DD HH24:MI:SS')
|
|
AND timestamp_addition < TO_TIMESTAMP(_df, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
s3billing.bucket_info.name
|
|
,s3billing.placement.name
|
|
,s3billing.bucket_stat.bucket_id
|
|
,s2.get
|
|
,s2.put
|
|
,s2.bytes_sent
|
|
ORDER BY
|
|
s3billing.placement.name
|
|
,s3billing.bucket_info.name
|
|
;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.billing_varchar(_ds character varying, _df character varying, _user character varying) OWNER TO dsorokin;
|
|
|
|
--
|
|
-- TOC entry 258 (class 1255 OID 5083308)
|
|
-- Name: buckets_current_stat(character varying); Type: FUNCTION; Schema: s3billing; Owner: dsorokin
|
|
--
|
|
|
|
CREATE FUNCTION s3billing.buckets_current_stat(_user character varying) RETURNS TABLE(name character varying, placement character varying, bucket_quota_enabled boolean, bucket_quota_max_size bigint, bucket_quota_max_objects bigint, usage_rgw_main_size_actual bigint, usage_rgw_main_num_objects bigint)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
select
|
|
s3billing.bucket_info.name
|
|
,(case
|
|
when ( s3billing.placement.name = 'default-placement') then 'HOT'
|
|
WHEN ( not s3billing.placement.name = 'default-placement' ) THEN s3billing.placement.name
|
|
end
|
|
) as placement
|
|
,s3billing.bucket_stat.bucket_quota_enabled
|
|
,s3billing.bucket_stat.bucket_quota_max_size
|
|
,s3billing.bucket_stat.bucket_quota_max_objects
|
|
,s3billing.bucket_stat.usage_rgw_main_size_actual
|
|
,s3billing.bucket_stat.usage_rgw_main_num_objects
|
|
from s3billing.bucket_stat
|
|
inner join s3billing.bucket_info on s3billing.bucket_stat.bucket_id= s3billing.bucket_info.id
|
|
inner join s3billing.placement on s3billing.bucket_info.placement_id = s3billing.placement.id
|
|
where owner=_user
|
|
and s3billing.bucket_stat.timestamp_addition=(
|
|
select max(s3billing.bucket_stat.timestamp_addition) from s3billing.bucket_stat
|
|
)
|
|
order by s3billing.bucket_info.name, s3billing.bucket_stat.timestamp_addition
|
|
;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION s3billing.buckets_current_stat(_user character varying) OWNER TO dsorokin;
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- TOC entry 222 (class 1259 OID 1893983)
|
|
-- Name: capacity_resource; Type: TABLE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE TABLE ngcloud_ru.capacity_resource (
|
|
vdc_id uuid NOT NULL,
|
|
"timestamp" timestamp with time zone NOT NULL,
|
|
cpu_allocated integer NOT NULL,
|
|
cpu_limit integer NOT NULL,
|
|
cpu_reserved integer NOT NULL,
|
|
cpu_used integer NOT NULL,
|
|
cpu_speed integer NOT NULL,
|
|
mem_allocated integer NOT NULL,
|
|
mem_limit integer NOT NULL,
|
|
mem_reserved integer NOT NULL,
|
|
mem_used integer NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE ngcloud_ru.capacity_resource OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 223 (class 1259 OID 1893993)
|
|
-- Name: capacity_storage; Type: TABLE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE TABLE ngcloud_ru.capacity_storage (
|
|
vdc_id uuid NOT NULL,
|
|
storage_profile_types_id integer NOT NULL,
|
|
"timestamp" timestamp with time zone NOT NULL,
|
|
id uuid NOT NULL,
|
|
"limit" integer NOT NULL,
|
|
used integer NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE ngcloud_ru.capacity_storage OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 220 (class 1259 OID 1893965)
|
|
-- Name: storage_profile_types; Type: TABLE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE TABLE ngcloud_ru.storage_profile_types (
|
|
id integer NOT NULL,
|
|
name character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE ngcloud_ru.storage_profile_types OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 219 (class 1259 OID 1893964)
|
|
-- Name: storage_profile_types_id_seq; Type: SEQUENCE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE SEQUENCE ngcloud_ru.storage_profile_types_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE ngcloud_ru.storage_profile_types_id_seq OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 3486 (class 0 OID 0)
|
|
-- Dependencies: 219
|
|
-- Name: storage_profile_types_id_seq; Type: SEQUENCE OWNED BY; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER SEQUENCE ngcloud_ru.storage_profile_types_id_seq OWNED BY ngcloud_ru.storage_profile_types.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 218 (class 1259 OID 1893959)
|
|
-- Name: tenant; Type: TABLE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE TABLE ngcloud_ru.tenant (
|
|
id uuid NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
wzcode bigint
|
|
);
|
|
|
|
|
|
ALTER TABLE ngcloud_ru.tenant OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 221 (class 1259 OID 1893973)
|
|
-- Name: vdc; Type: TABLE; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
CREATE TABLE ngcloud_ru.vdc (
|
|
id uuid NOT NULL,
|
|
tenant_id uuid NOT NULL,
|
|
name character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE ngcloud_ru.vdc OWNER TO vc_billing;
|
|
|
|
--
|
|
-- TOC entry 230 (class 1259 OID 2160668)
|
|
-- Name: bucket_info; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.bucket_info (
|
|
id integer NOT NULL,
|
|
bucket_id character varying(255) NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
marker character varying(255) NOT NULL,
|
|
placement_id bigint DEFAULT 0 NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.bucket_info OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 229 (class 1259 OID 2160667)
|
|
-- Name: bucket_info_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.bucket_info_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.bucket_info_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3490 (class 0 OID 0)
|
|
-- Dependencies: 229
|
|
-- Name: bucket_info_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.bucket_info_id_seq OWNED BY s3billing.bucket_info.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 226 (class 1259 OID 2160642)
|
|
-- Name: bucket_stat; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.bucket_stat (
|
|
bucket_id bigint,
|
|
num_shards bigint NOT NULL,
|
|
tenant character varying(255) DEFAULT NULL::character varying,
|
|
zone_group bigint NOT NULL,
|
|
placement_id bigint NOT NULL,
|
|
explicit_placement_data_pool character varying(255) DEFAULT NULL::character varying,
|
|
explicit_placement_data_extra_pool character varying(255) DEFAULT NULL::character varying,
|
|
explicit_placement_index_pool character varying(255) DEFAULT NULL::character varying,
|
|
index_type_id bigint NOT NULL,
|
|
versioned boolean DEFAULT false,
|
|
versioning_enabled boolean DEFAULT false,
|
|
object_lock_enabled boolean DEFAULT false,
|
|
mfa_enabled boolean DEFAULT false,
|
|
owner character varying(255) NOT NULL,
|
|
bucket_quota_enabled boolean DEFAULT false,
|
|
bucket_quota_check_on_raw boolean DEFAULT false,
|
|
bucket_quota_max_size bigint NOT NULL,
|
|
bucket_quota_max_size_kb bigint NOT NULL,
|
|
bucket_quota_max_objects bigint NOT NULL,
|
|
usage_rgw_main_size bigint NOT NULL,
|
|
usage_rgw_main_size_actual bigint NOT NULL,
|
|
usage_rgw_main_size_utilized bigint NOT NULL,
|
|
usage_rgw_main_size_kb bigint NOT NULL,
|
|
usage_rgw_main_size_kb_actual bigint NOT NULL,
|
|
usage_rgw_main_size_kb_utilized bigint NOT NULL,
|
|
usage_rgw_main_num_objects bigint NOT NULL,
|
|
usage_rgw_multimeta_size bigint,
|
|
usage_rgw_multimeta_size_actual bigint,
|
|
usage_rgw_multimeta_size_utilized bigint,
|
|
usage_rgw_multimeta_size_kb bigint,
|
|
usage_rgw_multimeta_size_kb_actual bigint,
|
|
usage_rgw_multimeta_size_kb_utilized bigint,
|
|
usage_rgw_multimeta_num_objects bigint,
|
|
creation_time timestamp without time zone NOT NULL,
|
|
mtime timestamp without time zone NOT NULL,
|
|
timestamp_addition timestamp without time zone DEFAULT date_trunc('hour'::text, CURRENT_TIMESTAMP)
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.bucket_stat OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 245 (class 1259 OID 2160763)
|
|
-- Name: category; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.category (
|
|
id integer NOT NULL,
|
|
name character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.category OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 244 (class 1259 OID 2160762)
|
|
-- Name: category_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.category_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.category_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3493 (class 0 OID 0)
|
|
-- Dependencies: 244
|
|
-- Name: category_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.category_id_seq OWNED BY s3billing.category.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 225 (class 1259 OID 2160635)
|
|
-- Name: goose_db_version; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.goose_db_version (
|
|
id integer NOT NULL,
|
|
version_id bigint NOT NULL,
|
|
is_applied boolean NOT NULL,
|
|
tstamp timestamp without time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.goose_db_version OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 224 (class 1259 OID 2160634)
|
|
-- Name: goose_db_version_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE s3billing.goose_db_version ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY (
|
|
SEQUENCE NAME s3billing.goose_db_version_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 234 (class 1259 OID 2160684)
|
|
-- Name: index_type; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.index_type (
|
|
id integer NOT NULL,
|
|
name character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.index_type OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 233 (class 1259 OID 2160683)
|
|
-- Name: index_type_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.index_type_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.index_type_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3496 (class 0 OID 0)
|
|
-- Dependencies: 233
|
|
-- Name: index_type_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.index_type_id_seq OWNED BY s3billing.index_type.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 232 (class 1259 OID 2160677)
|
|
-- Name: placement; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.placement (
|
|
id integer NOT NULL,
|
|
name character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.placement OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 231 (class 1259 OID 2160676)
|
|
-- Name: placement_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.placement_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.placement_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3498 (class 0 OID 0)
|
|
-- Dependencies: 231
|
|
-- Name: placement_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.placement_id_seq OWNED BY s3billing.placement.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 239 (class 1259 OID 2160705)
|
|
-- Name: usage_bucket_by_user; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.usage_bucket_by_user (
|
|
bucketid bigint,
|
|
"time" timestamp without time zone NOT NULL,
|
|
bytes_sent bigint NOT NULL,
|
|
bytes_received bigint NOT NULL,
|
|
ops bigint NOT NULL,
|
|
successful_ops bigint NOT NULL,
|
|
date_start timestamp without time zone NOT NULL,
|
|
date_end timestamp without time zone NOT NULL,
|
|
user_id bigint NOT NULL,
|
|
category_id bigint NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.usage_bucket_by_user OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 238 (class 1259 OID 2160698)
|
|
-- Name: usage_stat_summary; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.usage_stat_summary (
|
|
id integer NOT NULL,
|
|
userid character varying(255) NOT NULL,
|
|
category character varying(255) NOT NULL,
|
|
bytes_sent bigint NOT NULL,
|
|
bytes_received bigint NOT NULL,
|
|
ops bigint NOT NULL,
|
|
successful_ops bigint NOT NULL,
|
|
date_start timestamp without time zone NOT NULL,
|
|
date_end timestamp without time zone NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.usage_stat_summary OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 237 (class 1259 OID 2160697)
|
|
-- Name: usage_stat_summary_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.usage_stat_summary_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.usage_stat_summary_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3501 (class 0 OID 0)
|
|
-- Dependencies: 237
|
|
-- Name: usage_stat_summary_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.usage_stat_summary_id_seq OWNED BY s3billing.usage_stat_summary.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 236 (class 1259 OID 2160691)
|
|
-- Name: usage_stat_total; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.usage_stat_total (
|
|
id integer NOT NULL,
|
|
userid character varying(255) NOT NULL,
|
|
bytes_sent bigint NOT NULL,
|
|
bytes_received bigint NOT NULL,
|
|
ops bigint NOT NULL,
|
|
successful_ops bigint NOT NULL,
|
|
date_start timestamp without time zone NOT NULL,
|
|
date_end timestamp without time zone NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.usage_stat_total OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 235 (class 1259 OID 2160690)
|
|
-- Name: usage_stat_total_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.usage_stat_total_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.usage_stat_total_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3503 (class 0 OID 0)
|
|
-- Dependencies: 235
|
|
-- Name: usage_stat_total_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.usage_stat_total_id_seq OWNED BY s3billing.usage_stat_total.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 243 (class 1259 OID 2160751)
|
|
-- Name: user_info; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.user_info (
|
|
id integer NOT NULL,
|
|
name character varying(255) NOT NULL,
|
|
owner character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.user_info OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 242 (class 1259 OID 2160750)
|
|
-- Name: user_info_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.user_info_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.user_info_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3505 (class 0 OID 0)
|
|
-- Dependencies: 242
|
|
-- Name: user_info_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.user_info_id_seq OWNED BY s3billing.user_info.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 241 (class 1259 OID 2160712)
|
|
-- Name: user_quota_bucket; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.user_quota_bucket (
|
|
id integer NOT NULL,
|
|
userid character varying(255) NOT NULL,
|
|
enabled boolean DEFAULT false,
|
|
check_on_raw boolean DEFAULT false,
|
|
max_size bigint NOT NULL,
|
|
max_size_kb bigint NOT NULL,
|
|
max_objects bigint NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.user_quota_bucket OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 240 (class 1259 OID 2160711)
|
|
-- Name: user_quota_bucket_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.user_quota_bucket_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.user_quota_bucket_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3507 (class 0 OID 0)
|
|
-- Dependencies: 240
|
|
-- Name: user_quota_bucket_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.user_quota_bucket_id_seq OWNED BY s3billing.user_quota_bucket.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 228 (class 1259 OID 2160661)
|
|
-- Name: zone_group; Type: TABLE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE TABLE s3billing.zone_group (
|
|
id integer NOT NULL,
|
|
name uuid NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE s3billing.zone_group OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 227 (class 1259 OID 2160660)
|
|
-- Name: zone_group_id_seq; Type: SEQUENCE; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE SEQUENCE s3billing.zone_group_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
ALTER SEQUENCE s3billing.zone_group_id_seq OWNER TO s3billing;
|
|
|
|
--
|
|
-- TOC entry 3509 (class 0 OID 0)
|
|
-- Dependencies: 227
|
|
-- Name: zone_group_id_seq; Type: SEQUENCE OWNED BY; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER SEQUENCE s3billing.zone_group_id_seq OWNED BY s3billing.zone_group.id;
|
|
|
|
|
|
--
|
|
-- TOC entry 3262 (class 2604 OID 1893968)
|
|
-- Name: storage_profile_types id; Type: DEFAULT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.storage_profile_types ALTER COLUMN id SET DEFAULT nextval('ngcloud_ru.storage_profile_types_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3276 (class 2604 OID 2160671)
|
|
-- Name: bucket_info id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.bucket_info ALTER COLUMN id SET DEFAULT nextval('s3billing.bucket_info_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3286 (class 2604 OID 2160766)
|
|
-- Name: category id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.category ALTER COLUMN id SET DEFAULT nextval('s3billing.category_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3279 (class 2604 OID 2160687)
|
|
-- Name: index_type id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.index_type ALTER COLUMN id SET DEFAULT nextval('s3billing.index_type_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3278 (class 2604 OID 2160680)
|
|
-- Name: placement id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.placement ALTER COLUMN id SET DEFAULT nextval('s3billing.placement_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3281 (class 2604 OID 2160701)
|
|
-- Name: usage_stat_summary id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.usage_stat_summary ALTER COLUMN id SET DEFAULT nextval('s3billing.usage_stat_summary_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3280 (class 2604 OID 2160694)
|
|
-- Name: usage_stat_total id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.usage_stat_total ALTER COLUMN id SET DEFAULT nextval('s3billing.usage_stat_total_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3285 (class 2604 OID 2160754)
|
|
-- Name: user_info id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.user_info ALTER COLUMN id SET DEFAULT nextval('s3billing.user_info_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3282 (class 2604 OID 2160715)
|
|
-- Name: user_quota_bucket id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.user_quota_bucket ALTER COLUMN id SET DEFAULT nextval('s3billing.user_quota_bucket_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3275 (class 2604 OID 2160664)
|
|
-- Name: zone_group id; Type: DEFAULT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.zone_group ALTER COLUMN id SET DEFAULT nextval('s3billing.zone_group_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- TOC entry 3296 (class 2606 OID 1893987)
|
|
-- Name: capacity_resource capacity_resource_pkey; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.capacity_resource
|
|
ADD CONSTRAINT capacity_resource_pkey PRIMARY KEY (vdc_id, "timestamp");
|
|
|
|
|
|
--
|
|
-- TOC entry 3298 (class 2606 OID 1893997)
|
|
-- Name: capacity_storage capacity_storage_pkey; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.capacity_storage
|
|
ADD CONSTRAINT capacity_storage_pkey PRIMARY KEY (vdc_id, id, "timestamp");
|
|
|
|
|
|
--
|
|
-- TOC entry 3290 (class 2606 OID 1893972)
|
|
-- Name: storage_profile_types storage_profile_types_name_key; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.storage_profile_types
|
|
ADD CONSTRAINT storage_profile_types_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- TOC entry 3292 (class 2606 OID 1893970)
|
|
-- Name: storage_profile_types storage_profile_types_pkey; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.storage_profile_types
|
|
ADD CONSTRAINT storage_profile_types_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3288 (class 2606 OID 1893963)
|
|
-- Name: tenant tenant_pkey; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.tenant
|
|
ADD CONSTRAINT tenant_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3294 (class 2606 OID 1893977)
|
|
-- Name: vdc vdc_pkey; Type: CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.vdc
|
|
ADD CONSTRAINT vdc_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3308 (class 2606 OID 2160675)
|
|
-- Name: bucket_info bucket_info_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.bucket_info
|
|
ADD CONSTRAINT bucket_info_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3303 (class 2606 OID 2476484)
|
|
-- Name: bucket_stat bucket_stat_unique; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.bucket_stat
|
|
ADD CONSTRAINT bucket_stat_unique UNIQUE (bucket_id, placement_id, timestamp_addition);
|
|
|
|
|
|
--
|
|
-- TOC entry 3328 (class 2606 OID 2160768)
|
|
-- Name: category category_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.category
|
|
ADD CONSTRAINT category_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3300 (class 2606 OID 2160640)
|
|
-- Name: goose_db_version goose_db_version_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.goose_db_version
|
|
ADD CONSTRAINT goose_db_version_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3314 (class 2606 OID 2160689)
|
|
-- Name: index_type index_type_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.index_type
|
|
ADD CONSTRAINT index_type_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3312 (class 2606 OID 2160682)
|
|
-- Name: placement placement_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.placement
|
|
ADD CONSTRAINT placement_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3320 (class 2606 OID 2476705)
|
|
-- Name: usage_bucket_by_user usage_bucket_by_user_unique; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.usage_bucket_by_user
|
|
ADD CONSTRAINT usage_bucket_by_user_unique UNIQUE (bucketid, date_start, date_end, user_id, category_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3318 (class 2606 OID 2160703)
|
|
-- Name: usage_stat_summary usage_stat_summary_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.usage_stat_summary
|
|
ADD CONSTRAINT usage_stat_summary_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3316 (class 2606 OID 2160696)
|
|
-- Name: usage_stat_total usage_stat_total_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.usage_stat_total
|
|
ADD CONSTRAINT usage_stat_total_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3325 (class 2606 OID 2160758)
|
|
-- Name: user_info user_info_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.user_info
|
|
ADD CONSTRAINT user_info_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3322 (class 2606 OID 2160719)
|
|
-- Name: user_quota_bucket user_quota_bucket_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.user_quota_bucket
|
|
ADD CONSTRAINT user_quota_bucket_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3305 (class 2606 OID 2160666)
|
|
-- Name: zone_group zone_group_pkey; Type: CONSTRAINT; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
ALTER TABLE ONLY s3billing.zone_group
|
|
ADD CONSTRAINT zone_group_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3306 (class 1259 OID 2474077)
|
|
-- Name: bucket_info_name_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE INDEX bucket_info_name_idx ON s3billing.bucket_info USING btree (name);
|
|
|
|
|
|
--
|
|
-- TOC entry 3309 (class 1259 OID 2474078)
|
|
-- Name: bucket_info_placement_id_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE INDEX bucket_info_placement_id_idx ON s3billing.bucket_info USING btree (placement_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3301 (class 1259 OID 2474094)
|
|
-- Name: bucket_stat_owner_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE INDEX bucket_stat_owner_idx ON s3billing.bucket_stat USING btree (owner);
|
|
|
|
|
|
--
|
|
-- TOC entry 3326 (class 1259 OID 2474445)
|
|
-- Name: category_name_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE UNIQUE INDEX category_name_idx ON s3billing.category USING btree (name);
|
|
|
|
|
|
--
|
|
-- TOC entry 3310 (class 1259 OID 2474468)
|
|
-- Name: placement_name_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE UNIQUE INDEX placement_name_idx ON s3billing.placement USING btree (name);
|
|
|
|
|
|
--
|
|
-- TOC entry 3323 (class 1259 OID 2474438)
|
|
-- Name: user_info_name_idx; Type: INDEX; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
CREATE INDEX user_info_name_idx ON s3billing.user_info USING btree (name);
|
|
|
|
|
|
--
|
|
-- TOC entry 3330 (class 2606 OID 1893988)
|
|
-- Name: capacity_resource capacity_resource_vdc_id_fkey; Type: FK CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.capacity_resource
|
|
ADD CONSTRAINT capacity_resource_vdc_id_fkey FOREIGN KEY (vdc_id) REFERENCES ngcloud_ru.vdc(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- TOC entry 3331 (class 2606 OID 1894003)
|
|
-- Name: capacity_storage capacity_storage_storage_profile_types_id_fkey; Type: FK CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.capacity_storage
|
|
ADD CONSTRAINT capacity_storage_storage_profile_types_id_fkey FOREIGN KEY (storage_profile_types_id) REFERENCES ngcloud_ru.storage_profile_types(id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3332 (class 2606 OID 1893998)
|
|
-- Name: capacity_storage capacity_storage_vdc_id_fkey; Type: FK CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.capacity_storage
|
|
ADD CONSTRAINT capacity_storage_vdc_id_fkey FOREIGN KEY (vdc_id) REFERENCES ngcloud_ru.vdc(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- TOC entry 3329 (class 2606 OID 1893978)
|
|
-- Name: vdc vdc_tenant_id_fkey; Type: FK CONSTRAINT; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
ALTER TABLE ONLY ngcloud_ru.vdc
|
|
ADD CONSTRAINT vdc_tenant_id_fkey FOREIGN KEY (tenant_id) REFERENCES ngcloud_ru.tenant(id);
|
|
|
|
|
|
--
|
|
-- TOC entry 3481 (class 0 OID 0)
|
|
-- Dependencies: 7
|
|
-- Name: SCHEMA ngcloud_ru; Type: ACL; Schema: -; Owner: vc_billing
|
|
--
|
|
|
|
GRANT USAGE ON SCHEMA ngcloud_ru TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3482 (class 0 OID 0)
|
|
-- Dependencies: 8
|
|
-- Name: SCHEMA s3billing; Type: ACL; Schema: -; Owner: s3billing
|
|
--
|
|
|
|
GRANT USAGE ON SCHEMA s3billing TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3483 (class 0 OID 0)
|
|
-- Dependencies: 222
|
|
-- Name: TABLE capacity_resource; Type: ACL; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE ngcloud_ru.capacity_resource TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3484 (class 0 OID 0)
|
|
-- Dependencies: 223
|
|
-- Name: TABLE capacity_storage; Type: ACL; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE ngcloud_ru.capacity_storage TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3485 (class 0 OID 0)
|
|
-- Dependencies: 220
|
|
-- Name: TABLE storage_profile_types; Type: ACL; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE ngcloud_ru.storage_profile_types TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3487 (class 0 OID 0)
|
|
-- Dependencies: 218
|
|
-- Name: TABLE tenant; Type: ACL; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE ngcloud_ru.tenant TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3488 (class 0 OID 0)
|
|
-- Dependencies: 221
|
|
-- Name: TABLE vdc; Type: ACL; Schema: ngcloud_ru; Owner: vc_billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE ngcloud_ru.vdc TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3489 (class 0 OID 0)
|
|
-- Dependencies: 230
|
|
-- Name: TABLE bucket_info; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.bucket_info TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3491 (class 0 OID 0)
|
|
-- Dependencies: 226
|
|
-- Name: TABLE bucket_stat; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.bucket_stat TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3492 (class 0 OID 0)
|
|
-- Dependencies: 245
|
|
-- Name: TABLE category; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.category TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3494 (class 0 OID 0)
|
|
-- Dependencies: 225
|
|
-- Name: TABLE goose_db_version; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.goose_db_version TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3495 (class 0 OID 0)
|
|
-- Dependencies: 234
|
|
-- Name: TABLE index_type; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.index_type TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3497 (class 0 OID 0)
|
|
-- Dependencies: 232
|
|
-- Name: TABLE placement; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.placement TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3499 (class 0 OID 0)
|
|
-- Dependencies: 239
|
|
-- Name: TABLE usage_bucket_by_user; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.usage_bucket_by_user TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3500 (class 0 OID 0)
|
|
-- Dependencies: 238
|
|
-- Name: TABLE usage_stat_summary; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.usage_stat_summary TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3502 (class 0 OID 0)
|
|
-- Dependencies: 236
|
|
-- Name: TABLE usage_stat_total; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.usage_stat_total TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3504 (class 0 OID 0)
|
|
-- Dependencies: 243
|
|
-- Name: TABLE user_info; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.user_info TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3506 (class 0 OID 0)
|
|
-- Dependencies: 241
|
|
-- Name: TABLE user_quota_bucket; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.user_quota_bucket TO grafanabilling;
|
|
|
|
|
|
--
|
|
-- TOC entry 3508 (class 0 OID 0)
|
|
-- Dependencies: 228
|
|
-- Name: TABLE zone_group; Type: ACL; Schema: s3billing; Owner: s3billing
|
|
--
|
|
|
|
GRANT SELECT ON TABLE s3billing.zone_group TO grafanabilling;
|
|
|
|
|
|
-- Completed on 2025-10-24 14:30:47
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|
|
\unrestrict M18FnaokuZFKQZjWu9az6dzOO6o2cSlpJgAocs2PXfRbmzHVcXEXaiZZcaOPZko
|
|
|