Re: Error in column constraint syntax

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Rich Shepard <rshepard(at)appl-ecosys(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Error in column constraint syntax
Date: 2016-12-27 16:53:34
Message-ID: CAKFQuwaU0PH_wUCFDW-wnb-KfjgR5Mkr3BYXJ+pEk+zc=FGqqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Dec 27, 2016 at 9:39 AM, Rich Shepard <rshepard(at)appl-ecosys(dot)com>
wrote:

> I'm encountering DDL syntax errors using postgres-9.6.1 that I've not
> before seen, and I'm having a difficult time finding the cause when reading
> the appropriate sections of the manual; Section 5.3.1 in this case:
>

​5.3.1 is instructional. The SQL Command chapter is the authoritative
source for syntax.

> CREATE TABLE Agencies (
> org_name VARCHAR(48) PRIMARY KEY,
> acronym VARCHAR(8) DEFAULT ' ',
> org_lvl VARCHAR(8) DEFAULT 'State'
> CONSTRAINT invalid_agency_level
> CHECK org_lvl IN ('Federal', 'State', 'County', 'City', 'Local',
> 'Regional'),
> website VARCHAR(64) DEFAULT ' ',
> created_at TIMESTAMP,
> created_by TEXT NOT NULL,
> updated_at TIMESTAMP,
> updated_by TEXT NOT NULL,
> comment TEXT
> );
>
> psql reports:
>
> :86: ERROR: syntax error at or near "org_lvl"
> LINE 6: CHECK org_lvl IN ('Federal', 'State', 'County', 'City',...
> ^
> Having a default value or a named constraint makes no difference, and the
> maximum size of the org_lvl column is that of the longest string so I am
> not
> seeing the source of my error.
>

​https://www.postgresql.org/docs/9.6/static/sql-createtable.html

CHECK ( expression ) [ NO INHERIT ] | -- you are missing the mandatory (
) surrounding your expression

All of the examples in 5.3.1 have a "(" following the word CHECK as well...

> Where, other than Section 5.3.1 of the manual can I learn why there's an
> error?
> ​
>

If the error message in question doesn't provide a sufficient level of
detail I'm doubting that anything in the documentation is going to help
with diagnosis.

If you just mean where can you learn what is correct/expected then the SQL
Commands chapter is the authoritative source for syntax and usage.

David J.


In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2016-12-27 17:30:36 Re: Error in column constraint syntax
Previous Message Rich Shepard 2016-12-27 16:39:44 Error in column constraint syntax