Postgresql version 17.4 (Ubuntu 17.4-1.pgdg24.10+2) on x86_64-pc-linux-gnu
To reproduce, execute the statements in the attached file cr.sql. I get:
duncan=> \i cr.sql
CREATE TABLE
CREATE TABLE
CREATE VIEW
CREATE TABLE
COPY 1
COPY 2
COPY 1
psql:cr.sql:42: ERROR: attribute 2 of type record has wrong type
DETAIL: Table has type _country_or_region, but query expects record.
I attribute it to the "WHEN NOT MATCHED BY SOURCE THEN DELETE" part of the MERGE
as it doesn't happen if that part is left off.
Best wishes, Duncan.