PostgreSQL implicitly double-quoting identifier name with umlaut - Mailing list pgsql-sql

From Michael Downey
Subject PostgreSQL implicitly double-quoting identifier name with umlaut
Date
Msg-id BY3PR05MB7985A889E17333E35AF6B110DB652@BY3PR05MB7985.namprd05.prod.outlook.com
Whole thread Raw
Responses Re: PostgreSQL implicitly double-quoting identifier name with umlaut
List pgsql-sql

PostgreSQL implicitly double-quoting identifier name with umlaut

 

I an understand this behavior, just trying to find documentation to confirm it.

 

Server and client encoding are UTF8.

 

One of our internal users, using our tools, added a column called Örtschaft. We anticipated it would be folded to lower case.

So we inserted our metadata for the column in our metadata with the name örtschaft. With the system query for metadata, we

ended up seeing query mismatches involving this column as we found the actual column name is Örtschaft

in the database.

 

I looked at the “SQL” of the table in pgadmin and saw this:

 

“CREATE TABLE IF NOT EXISTS map.mytable2

(

    oid bigint,

    name1 smallint,

    "Örtschaft" integer

)

 

TABLESPACE pg_default;

 

ALTER TABLE IF EXISTS map.mytable2

    OWNER to map;”

 

I thought our code might be adding the double quotes inadvertently, but the statement in the Postgres log had the alter table statement with

Örtschaft without double quotes.

 

After experimenting in SQL, I was able to find that in I could reproduce this in psql and Pgadmin sql.

 

Ex

In SQL:

alter table map.mytable2 add column Örtschaft7 integer;

 

PGADMIN interface output (I could not find the exact query statement to produce this)

CREATE TABLE IF NOT EXISTS map.mytable2

(

    oid bigint,

    name1 smallint,

    "Örtschaft" integer,

    ortschaft2 integer,

    "™rtschaft3" integer,

    "Örtschaft4" integer,

    "Örtschaft5" integer,

    "Örtschaft6" integer,

    "Örtschaft7" integer

)

 

TABLESPACE pg_default;

 

ALTER TABLE IF EXISTS map.mytable2

    OWNER to map;

 

This behavior seems like an exception to the lower-case folding behavior expectation.

 

Is this expected?

Is this documented someplace?

 

Thanks,

Michael

pgsql-sql by date:

Previous
From: Frank Komsic
Date:
Subject: Re: Powerfailure caused a reduction in INSERT performance of version 12 database.
Next
From: Tom Lane
Date:
Subject: Re: PostgreSQL implicitly double-quoting identifier name with umlaut