Re: [bug] keyword commit being accepted for column name
Kirk Parker <khp@equatoria.us>
From: Kirk Parker <khp@equatoria.us>
To: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2025-05-31T18:22:08Z
Lists: pgsql-bugs
On Sat, May 31, 2025, 11:03 Vinícius Abrahão <vinnix.bsd@gmail.com> wrote:
> postgres=# create table postgres_git_repository(commit text,
> first_line_commit text);
> CREATE TABLE
> postgres=# create table postgres_git_repository2("commit" text,
> first_line_commit text);
> CREATE TABLE
> postgres=# create table postgres_git_repository3("COMMIT" text,
> first_line_commit text);
> CREATE TABLE
>
> postgres=# select version();
> version
>
>
> --------------------------------------------------------------------------------------------------------
> PostgreSQL 17.4 on x86_64-pc-linux-gnu, compiled by clang version 19.1.7
> (CentOS 19.1.7-1.el9), 64-bit
>
> postgres=# \d postgres_git_repository
> Table "public.postgres_git_repository"
> Column | Type | Collation | Nullable | Default
> -------------------+------+-----------+----------+---------
> commit | text | | |
> first_line_commit | text | | |
>
> postgres=# \h commit
> Command: COMMIT
> Description: commit the current transaction
> Syntax:
> COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
>
> URL: https://www.postgresql.org/docs/17/sql-commit.html
>
This is one of those cases where PostgreSQL diverges from the SQL standard
(and documents that it does so):
https://www.postgresql.org/docs/current/sql-keywords-appendix.html#KEYWORDS-TABLE
>
>