Thứ Năm, 22 tháng 6, 2023

Tạo bảng partition theo tháng trong PostgreSQL

-- Mục đích: Tạo bảng public.bang_to_new tạo partitoin theo trường insert_date từ tháng 08/2022 đến hết năm 2023

-- DROP TABLE IF EXISTS public.bang_to_new;

CREATE TABLE IF NOT EXISTS public.bang_to_new
(
    id bigint NOT NULL DEFAULT nextval('bang_to_id_seq'),
    end_datetime timestamp without time zone,
    expire_datetime timestamp without time zone,
    insert_date timestamp without time zone,
    isdn character varying(255) COLLATE pg_catalog."default",
    last_recharge_date timestamp without time zone,
    last_retry_date timestamp without time zone,
    pkg_code character varying(255) COLLATE pg_catalog."default",
    program_id bigint,
    reg_datetime timestamp without time zone,
    retry_num bigint,
    soap_respond character varying(2000) COLLATE pg_catalog."default",
    status character varying(255) COLLATE pg_catalog."default",
    transaction character varying(255) COLLATE pg_catalog."default",
    retry_datetime timestamp without time zone,
    CONSTRAINT bang_to_new_pkey PRIMARY KEY (id,insert_date)
) PARTITION BY RANGE (insert_date)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;
--
ALTER TABLE IF EXISTS public.bang_to_new OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_new TO fo_owner;

GRANT ALL ON TABLE public.bang_to_new TO spr;
--


--CREATE PARTITION

--202208----

CREATE TABLE public.bang_to_202208 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2022-08-01') TO ('2022-09-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202208 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202208 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202208 TO spr;

--202209----

CREATE TABLE public.bang_to_202209 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2022-09-01') TO ('2022-10-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202209 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202209 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202209 TO spr;

--202210----

CREATE TABLE public.bang_to_202210 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2022-10-01') TO ('2022-11-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202210 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202210 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202210 TO spr;

--202211----
CREATE TABLE public.bang_to_202211 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2022-11-01') TO ('2022-12-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202211 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202211 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202211 TO spr;

--202212----
CREATE TABLE public.bang_to_202212 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2022-12-01') TO ('2023-01-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202212 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202212 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202212 TO spr;

--202301--

CREATE TABLE public.bang_to_202301 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-01-01') TO ('2023-02-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202301 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202301 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202301 TO spr;

--202302--
CREATE TABLE public.bang_to_202302 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-02-01') TO ('2023-03-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202302 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202302 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202302 TO spr;

--202303--
CREATE TABLE public.bang_to_202303 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-03-01') TO ('2023-04-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202303 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202303 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202303 TO spr;

--202304--
CREATE TABLE public.bang_to_202304 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-04-01') TO ('2023-05-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202304 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202304 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202304 TO spr;

--202305--
CREATE TABLE public.bang_to_202305 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-05-01') TO ('2023-06-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202305 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202305 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202305 TO spr;

--202306--
CREATE TABLE public.bang_to_202306 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-06-01') TO ('2023-07-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202306 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202306 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202306 TO spr;

--202307--
CREATE TABLE public.bang_to_202307 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-07-01') TO ('2023-08-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202307 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202307 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202307 TO spr;

--202308--
CREATE TABLE public.bang_to_202308 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-08-01') TO ('2023-09-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202308 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202308 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202308 TO spr;

--202309--
CREATE TABLE public.bang_to_202309 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-09-01') TO ('2023-10-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202309 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202309 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202309 TO spr;


--202310--
CREATE TABLE public.bang_to_202310 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-10-01') TO ('2023-11-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202310 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202310 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202310 TO spr;

--202311--
CREATE TABLE public.bang_to_202311 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-11-01') TO ('2023-12-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202311 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202311 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202311 TO spr;

--202312--
CREATE TABLE public.bang_to_202312 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2023-12-01') TO ('2024-01-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202312 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202312 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202312 TO spr;

--202401--

CREATE TABLE public.bang_to_202401 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-01-01') TO ('2024-02-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202401 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202401 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202401 TO spr;

--202402--
CREATE TABLE public.bang_to_202402 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-02-01') TO ('2024-03-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202402 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202402 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202402 TO spr;

--202403--
CREATE TABLE public.bang_to_202403 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-03-01') TO ('2024-04-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202403 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202403 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202403 TO spr;

--202404--
CREATE TABLE public.bang_to_202404 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-04-01') TO ('2024-05-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202404 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202404 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202404 TO spr;

--202405--
CREATE TABLE public.bang_to_202405 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-05-01') TO ('2024-06-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202405 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202405 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202405 TO spr;

--202406--
CREATE TABLE public.bang_to_202406 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-06-01') TO ('2024-07-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202406 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202406 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202406 TO spr;

--202407--
CREATE TABLE public.bang_to_202407 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-07-01') TO ('2024-08-01')
TABLESPACE pg_default;


ALTER TABLE IF EXISTS public.bang_to_202407 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202407 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202407 TO spr;

--202408--
CREATE TABLE public.bang_to_202408 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-08-01') TO ('2024-09-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202408 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202408 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202408 TO spr;

--202409--
CREATE TABLE public.bang_to_202409 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-09-01') TO ('2024-10-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202409 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202409 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202409 TO spr;

--202410--
CREATE TABLE public.bang_to_202410 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-10-01') TO ('2024-11-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202410 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202410 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202410 TO spr;

--202411--
CREATE TABLE public.bang_to_202411 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-11-01') TO ('2024-12-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202411 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202411 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202411 TO spr;

--202412--
CREATE TABLE public.bang_to_202412 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2024-12-01') TO ('2025-01-01')
TABLESPACE pg_default;


ALTER TABLE IF EXISTS public.bang_to_202412 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202412 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202412 TO spr;


--202501--

CREATE TABLE public.bang_to_202501 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-01-01') TO ('2025-02-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202501 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202501 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202501 TO spr;

--202502--
CREATE TABLE public.bang_to_202502 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-02-01') TO ('2025-03-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202502 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202502 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202502 TO spr;

--202503--
CREATE TABLE public.bang_to_202503 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-03-01') TO ('2025-04-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202503 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202503 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202503 TO spr;

--202504--
CREATE TABLE public.bang_to_202504 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-04-01') TO ('2025-05-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202504 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202504 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202504 TO spr;

--202505--
CREATE TABLE public.bang_to_202505 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-05-01') TO ('2025-06-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202505 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202505 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202505 TO spr;

--202506--
CREATE TABLE public.bang_to_202506 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-06-01') TO ('2025-07-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202506 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202506 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202506 TO spr;

--202507--
CREATE TABLE public.bang_to_202507 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-07-01') TO ('2025-08-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202507 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202507 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202507 TO spr;

--202508--
CREATE TABLE public.bang_to_202508 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-08-01') TO ('2025-09-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202508 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202508 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202508 TO spr;

--202509--
CREATE TABLE public.bang_to_202509 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-09-01') TO ('2025-10-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202509 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202509 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202509 TO spr;

--202510--
CREATE TABLE public.bang_to_202510 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-10-01') TO ('2025-11-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202510 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202510 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202510 TO spr;

--202511--
CREATE TABLE public.bang_to_202511 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-11-01') TO ('2025-12-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202511 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202511 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202511 TO spr;

--202512--
CREATE TABLE public.bang_to_202512 PARTITION OF public.bang_to_new
    FOR VALUES FROM ('2025-12-01') TO ('2026-01-01')
TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.bang_to_202512 OWNER to spr;

GRANT SELECT ON TABLE public.bang_to_202512 TO fo_owner;

GRANT ALL ON TABLE public.bang_to_202512 TO spr;


--CREATE INDEX---
--chi dung data cua 6 thang gan nhat nên khong tao index cac partition cu

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202212_idx1
    ON public.bang_to_202212 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202301_idx1
    ON public.bang_to_202301 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202302_idx1
    ON public.bang_to_202302 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202303_idx1
    ON public.bang_to_202303 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202304_idx1
    ON public.bang_to_202304 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202305_idx1
    ON public.bang_to_202305 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202306_idx1
    ON public.bang_to_202306 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;



CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202307_idx1
    ON public.bang_to_202307 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202308_idx1
    ON public.bang_to_202308 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202309_idx1
    ON public.bang_to_202309 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202310_idx1
    ON public.bang_to_202310 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202311_idx1
    ON public.bang_to_202311 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202312_idx1
    ON public.bang_to_202312 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202401_idx1
    ON public.bang_to_202401 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202402_idx1
    ON public.bang_to_202402 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202403_idx1
    ON public.bang_to_202403 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202404_idx1
    ON public.bang_to_202404 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202405_idx1
    ON public.bang_to_202405 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202406_idx1
    ON public.bang_to_202406 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;



CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202407_idx1
    ON public.bang_to_202407 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202408_idx1
    ON public.bang_to_202408 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202409_idx1
    ON public.bang_to_202409 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202410_idx1
    ON public.bang_to_202410 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202411_idx1
    ON public.bang_to_202411 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202412_idx1
    ON public.bang_to_202412 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;
CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202501_idx1
    ON public.bang_to_202501 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202502_idx1
    ON public.bang_to_202502 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202503_idx1
    ON public.bang_to_202503 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;

CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202504_idx1
    ON public.bang_to_202504 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202505_idx1
    ON public.bang_to_202505 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202506_idx1
    ON public.bang_to_202506 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;



CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202507_idx1
    ON public.bang_to_202507 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202508_idx1
    ON public.bang_to_202508 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202509_idx1
    ON public.bang_to_202509 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202510_idx1
    ON public.bang_to_202510 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202511_idx1
    ON public.bang_to_202511 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;


CREATE INDEX CONCURRENTLY IF NOT EXISTS bang_to_202512_idx1
    ON public.bang_to_202512 USING btree
    (isdn COLLATE pg_catalog."default" ASC NULLS LAST, (insert_date::date) DESC NULLS LAST)
    TABLESPACE pg_default;




=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master