Re: Can't fix Pgsql Insert Command Issue. - Mailing list pgsql-bugs

From Erik Wienhold
Subject Re: Can't fix Pgsql Insert Command Issue.
Date
Msg-id 46772c56-3534-4b45-b6e3-294d152f7eb7@ewie.name
Whole thread Raw
In response to Re: Can't fix Pgsql Insert Command Issue.  (Erik Wienhold <ewie@ewie.name>)
List pgsql-bugs
On 2024-09-24 03:42 +0200, Mark Kostevych wrote:
> I tried to get the PID of the session but can't get the response. Same issue.

You need to run SELECT pg_backend_pid() separately before the INSERT.

>
Screenshot_2.png<https://hwoodgroup-my.sharepoint.com/:i:/p/mkostevych/EZev3xZoyMRLkJf7RZTA5XwB8H1BcgtH09K9bjmcUx_YvA>
> 
> Create
Script.txt<https://hwoodgroup-my.sharepoint.com/:t:/p/mkostevych/ESPFd2CzRRpAt7mzbaiJt1IB3k1z9C67vZAC-RU4njjhLA>
> Create
Script(check_items).txt<https://hwoodgroup-my.sharepoint.com/:t:/p/mkostevych/Ef9QlV-ghRZHgCWZaczbSgsBuQGz8ISDxtvv7tQnCi8z6g>
> Cretae
Script(employees).txt<https://hwoodgroup-my.sharepoint.com/:t:/p/mkostevych/ET7M1kBp8udBsxQrJH03XGwBUl0Sw9SCjgiIpImCoswKdA>
> 
> As you asked, I attached Create script for three tables(checks,
> check_items, employees). I think we don't have any issue on employees
> table.

Please attach scripts or quote them inline.  External links are not
ideal.

What do these trigger functions on table "checks" do?:

* public.update_universal_location_id()
* public.update_date_parts_checks()

For the archive:

    CREATE TABLE IF NOT EXISTS public.checks
    (
        id character varying COLLATE pg_catalog."default" NOT NULL,
        name character varying COLLATE pg_catalog."default",
        "number" bigint,
        sub_total numeric(8,2),
        tax_total numeric(8,2),
        total numeric(8,2),
        mandatory_tip_amount numeric(8,2),
        open_time timestamp with time zone,
        close_time timestamp with time zone,
        employee_name character varying COLLATE pg_catalog."default",
        employee_role_name character varying COLLATE pg_catalog."default",
        employee_id character varying COLLATE pg_catalog."default",
        employee character varying COLLATE pg_catalog."default",
        guest_count smallint,
        type character varying COLLATE pg_catalog."default",
        type_id smallint,
        taxed_type character varying COLLATE pg_catalog."default",
        table_name character varying COLLATE pg_catalog."default",
        location character varying COLLATE pg_catalog."default",
        zone character varying COLLATE pg_catalog."default",
        autograt_tax numeric(8,2),
        trading_day_id character varying COLLATE pg_catalog."default",
        trading_day date,
        updated_at timestamp with time zone,
        non_revenue_total bigint,
        outstanding_balance numeric(8,2),
        status character varying COLLATE pg_catalog."default",
        revenue_total numeric(8,2),
        comp_total numeric(8,2) DEFAULT 0,
        visible boolean DEFAULT 'true',
        void_total numeric(8,2) DEFAULT 0,
        reason_code character varying COLLATE pg_catalog."default",
        voidcomp_reason_text character varying COLLATE pg_catalog."default",
        voidcomp_type character varying COLLATE pg_catalog."default",
        voidcomp_value numeric,
        parent_category character varying COLLATE pg_catalog."default",
        category_name character varying COLLATE pg_catalog."default",
        month integer,
        day integer,
        year integer,
        universal_location_id integer,
        CONSTRAINT checks_pkey PRIMARY KEY (id),
        CONSTRAINT checks_employee_fkey FOREIGN KEY (employee)
            REFERENCES public.employees (airtable_id) MATCH SIMPLE
            ON UPDATE NO ACTION
            ON DELETE NO ACTION
            NOT VALID
    )
    TABLESPACE pg_default;

    ALTER TABLE IF EXISTS public.checks
        OWNER to postgres;

    GRANT SELECT ON TABLE public.checks TO hwood_read_only;

    GRANT ALL ON TABLE public.checks TO postgres;

    CREATE INDEX IF NOT EXISTS checks_location
        ON public.checks USING btree
        (location COLLATE pg_catalog."default" ASC NULLS LAST)
        TABLESPACE pg_default;

    CREATE INDEX IF NOT EXISTS idx_checks_location
        ON public.checks USING btree
        (location COLLATE pg_catalog."default" ASC NULLS LAST)
        TABLESPACE pg_default;

    CREATE INDEX IF NOT EXISTS idx_checks_trading_day
        ON public.checks USING btree
        (trading_day ASC NULLS LAST)
        TABLESPACE pg_default;

    CREATE INDEX IF NOT EXISTS idx_checks_trading_day_location
        ON public.checks USING btree
        (trading_day ASC NULLS LAST, location COLLATE pg_catalog."default" ASC NULLS LAST)
        TABLESPACE pg_default;

    CREATE TRIGGER set_universal_location_id_checks
        AFTER INSERT OR UPDATE
        ON public.checks
        FOR EACH ROW
        EXECUTE FUNCTION public.update_universal_location_id();

    CREATE TRIGGER update_date_part_checks_trigger
        BEFORE INSERT OR UPDATE
        ON public.checks
        FOR EACH ROW
        EXECUTE FUNCTION public.update_date_parts_checks();


    CREATE TABLE IF NOT EXISTS public.check_items
    (
        id character varying COLLATE pg_catalog."default" NOT NULL,
        check_id character varying COLLATE pg_catalog."default" NOT NULL,
        name character varying COLLATE pg_catalog."default",
        date timestamp with time zone,
        item_id character varying COLLATE pg_catalog."default" NOT NULL,
        quantity bigint,
        price numeric(8,2),
        pre_tax_price numeric(8,2),
        regular_price numeric(8,2),
        cost numeric(8,2),
        tax numeric(8,2),
        comp_total numeric(8,2),
        comp_tax numeric(8,2),
        parent_category character varying COLLATE pg_catalog."default",
        category character varying COLLATE pg_catalog."default",
        CONSTRAINT check_items_pkey PRIMARY KEY (id),
        CONSTRAINT check_item_fkey FOREIGN KEY (check_id)
            REFERENCES public.checks (id) MATCH SIMPLE
            ON UPDATE NO ACTION
            ON DELETE NO ACTION,
        CONSTRAINT item_fkey FOREIGN KEY (item_id)
            REFERENCES public.items (item_id) MATCH SIMPLE
            ON UPDATE NO ACTION
            ON DELETE NO ACTION
            NOT VALID
    )
    TABLESPACE pg_default;

    ALTER TABLE IF EXISTS public.check_items
        OWNER to postgres;

    GRANT SELECT ON TABLE public.check_items TO hwood_read_only;

    GRANT ALL ON TABLE public.check_items TO postgres;


    CREATE TABLE IF NOT EXISTS public.employees
    (
        pos_id integer NOT NULL,
        first character varying COLLATE pg_catalog."default",
        last character varying COLLATE pg_catalog."default",
        email character varying COLLATE pg_catalog."default",
        mobile character varying COLLATE pg_catalog."default",
        location character varying COLLATE pg_catalog."default",
        paycom_code character varying COLLATE pg_catalog."default",
        r365_code integer,
        role character varying COLLATE pg_catalog."default",
        reg_rate numeric(4,2),
        employee_id character varying COLLATE pg_catalog."default",
        airtable_id character varying COLLATE pg_catalog."default" NOT NULL,
        role_id numeric,
        "paycorIdProfileId" character varying COLLATE pg_catalog."default",
        active boolean,
        role_name character varying COLLATE pg_catalog."default",
        CONSTRAINT employees_pkey PRIMARY KEY (airtable_id)
    )
    TABLESPACE pg_default;

    ALTER TABLE IF EXISTS public.employees
        OWNER to postgres;

    GRANT SELECT ON TABLE public.employees TO hwood_read_only;

    GRANT ALL ON TABLE public.employees TO postgres;

    CREATE INDEX IF NOT EXISTS idx_employees_airtable_id
        ON public.employees USING btree
        (airtable_id COLLATE pg_catalog."default" ASC NULLS LAST)
        TABLESPACE pg_default;

    CREATE INDEX IF NOT EXISTS idx_employees_email
        ON public.employees USING btree
        (email COLLATE pg_catalog."default" ASC NULLS LAST)
        TABLESPACE pg_default;

-- 
Erik



pgsql-bugs by date:

Previous
From: Muralikrishna Bandaru
Date:
Subject: Re: BUG #18615: installer cannot be executed as "nt-autorität\system"
Next
From: Alexander Lakhin
Date:
Subject: Re: BUG #18628: Race condition during attach/detach partition breaks constraints of partition having foreign key