SQL standard for TRUNCATE
According to
http://www.postgresql.org/docs/9.1/static/unsupported-features-sql-standard.html,
PostgreSQL doesn't support identity column restart for TRUNCATE. This
might strictly be true because PostgreSQL doesn't implement identity
columns as such, but it does support RESTART IDENTITY and CONTINUE
IDENTITY, which will apply to sequences, and those are equivalent. If it's
going to say F202 is unsupported, shouldn't there at least be a note
acknowledging this feature is supported for sequences, but otherwise it
doesn't apply? Some attempt to implement this has been made.
--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Thom Brown <thom@linux.com> writes:
According to
http://www.postgresql.org/docs/9.1/static/unsupported-features-sql-standard.html,
PostgreSQL doesn't support identity column restart for TRUNCATE. This
might strictly be true because PostgreSQL doesn't implement identity
columns as such, but it does support RESTART IDENTITY and CONTINUE
IDENTITY, which will apply to sequences, and those are equivalent.
According to the reference page for TRUNCATE, the behaviors of those
clauses are not exactly compatible with the standard, which is why we
don't claim conformance.
If it's
going to say F202 is unsupported, shouldn't there at least be a note
acknowledging this feature is supported for sequences, but otherwise it
doesn't apply? Some attempt to implement this has been made.
The features table doesn't really have room to put more than a "yes" or
"no" entry, and I don't think a pile of footnotes at the bottom would be
a helpful way to present additional info. Generally the best place for
any discussion of why a feature is spec-compatible or not is the
Compatibility section of the relevant reference page.
regards, tom lane