Hi Aaron, There's currently no support in Flink indeed to insert an UUID data type into Postgres. The Jira ticket you've included [1] is indeed the same issue. It's just that the solution is most likely not to map it as a RAW type, but use a STRING type instead. Is this something where you might want to help out with a contribution?
Best regards, Martijn [1] https://issues.apache.org/jira/browse/FLINK-19869 Op vr 10 jun. 2022 om 08:37 schreef Xuyang <xyzhong...@163.com>: > Unfortunately, it seems that flink currently doesn't support the type UUID > for jdbc conector. I think you can create a new issue on jira and restart > the dicussion about this. > > > -- > Best! > Xuyang > > > At 2022-06-09 22:40:45, "Aaron Weiss" <aaron.we...@broadcom.com> wrote: > > Hey there, > > We have just started to use the Flink SQL JDBC connector to do some writes > to Postgres. Our Postgres table has a UUID column we need to write to > through Flink SQL. However, it doesn't appear that the connector supports > that type in any way. > > UUID isn't listed in the Postgres datatypes in the Data Type Mapping > section here > <https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/>. > We attempted to use VARCHAR and STRING types in Flink SQL for this, but get > errors doing SELECT or INSERT on the UUID column. > > We saw this open issue <https://issues.apache.org/jira/browse/FLINK-19869> > that > we think is similar to what we're experiencing. > > Any help would be appreciated! > > *Error Message when Inserting:* > flink-jobmanager Caused by: java.sql.BatchUpdateException: Batch entry 0 > INSERT INTO users(email, tenant_uid) > VALUES ('aaron.we...@broadcom.com', > '76170855-6678-05ed-f913-f581fdc1aa87') > was aborted: > ERROR: column "tenant_uid" is of type uuid but expression is of type > character varying > > *Flink SQL table DDL:* > CREATE TABLE ica.postgresql.users ( > email VARCHAR, > tenant_uid VARCHAR > ) WITH ( > 'connector' = 'jdbc', > 'url' = 'jdbc:postgresql://ica-postgresql:5432/ica', > 'username' = 'XXXX', > 'password' = 'XXXX', > 'table-name' = 'users' > ); > > *Postgres table DDL:* > create table users > ( > user_uid uuid default gen_random_uuid() not null, > email text not null, > created_date timestamp_ica default get_now_ica(), > modified_date timestamp_ica default get_now_ica(), > last_detected_date timestamp_ica default get_now_ica(), > tenant_uid uuid not null, > hits bigint default 0 not null, > first_name text, > last_name text, > account_name text, > domain text, > title text, > threat_score integer, > org_unit text, > ldap_dn text, > ldap_memberof text[], > ldap_hierarchical_memberof text[], > source_user_id text, > constraint pk_users > primary key (tenant_uid, user_uid), > constraint uk_users > unique (tenant_uid, email) > ) > > -- > > *Aaron Weiss* > R&D Software Engineer | Information Security Group | Symantec > Enterprise Division > Broadcom > > mobile: 404-550-4299 > > Atlanta, GA (USA) > aaron.we...@broadcom.com | broadcom.com > > This electronic communication and the information and any files > transmitted with it, or attached to it, are confidential and are intended > solely for the use of the individual or entity to whom it is addressed and > may contain information that is confidential, legally privileged, protected > by privacy laws, or otherwise restricted from disclosure to anyone else. If > you are not the intended recipient or the person responsible for delivering > the e-mail to the intended recipient, you are hereby notified that any use, > copying, distributing, dissemination, forwarding, printing, or copying of > this e-mail is strictly prohibited. If you received this e-mail in error, > please return the e-mail to the sender, delete it from your computer, and > destroy any printed copy of it. > >