SQL has existed as an "official" standard since the adoption of the ANSI ( American National Standards Institute ) standard (X3.135) in 1986, and the ISO ( International Standards Organization ) standardization 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 left intentionally 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, as well as 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 (only the barest improvements to SQL89), Intermediate-Level (a generally achievable set of major advancements), and Full (total compliance with the SQL92 features).
More recently, in 1999, the ANSI/ISO SQL99 standard (also called SQL3 ) was released. This standard addresses some of the more advanced and previously non-addressed 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 features. Additionally, many of the new SQL99 features are quite similar to many of the object-relational concepts pioneered by PostgreSQL, such as arrays, functions, and inheritance.