The American National Standards Institute (ANSI) standardized SQL in 1986 (X3.135) and the International Standards
Organization (ISO) standardized it in 1987. The United States government's Federal Information Processing Standard
(
FIPS
) adopted the ANSI/ISO standard. In 1989, a revised standard known commonly as
SQL89
or
SQL1
, was published.
Due partially to conflicting interests from commercial vendors,
much of the SQL89 standard was intentionally left incomplete, and many
features were labeled implementor-defined. In order to strengthen the
standard, the ANSI committee revised its previous work with the
SQL92
standard ratified in 1992 (also called
SQL2
). This standard addressed several weaknesses
in SQL89 and set forth conceptual SQL features which at that
time exceeded the capabilities of any existing RDBMS implementation.
In fact, the SQL92 standard was approximately six times the length of
its predecessor. As a result of this disparity, the authors defined
three levels of SQL92 compliance:
Entry-level conformance
(only the barest improvements to SQL89),
Intermediate-level conformance
(a generally achievable set of
major advancements), and
Full conformance
(total compliance
with the SQL92 features).
More recently, in 1999, the ANSI/ISO released the
SQL99
standard (also called
SQL3
). This
standard addresses some of the more advanced and previously
ignored areas of modern SQL systems, such as object-relational
database concepts, call level interfaces, and integrity management.
SQL99 replaces the SQL92 levels of compliance with its own degrees of
conformance:
Core SQL99
and
Enhanced SQL99
.
PostgreSQL presently conforms to most of the Entry-level SQL92
standard, as well as many of the Intermediate- and Full-level features.
Additionally, many of the features new in SQL99 are quite similar to the object-relational concepts pioneered by PostgreSQL (arrays, functions, and inheritance).