サポートされていない機能この節では、PostgreSQLがどの程度現在の標準SQLに準拠しているかについて、概要を説明します。以下の情報は互換性についての完全な説明ではありません。ユーザにとって十分適切かつ有用な詳細を主な話題としてここで示しています。この標準SQLの改訂バージョンは不定期にリリースされています。最新バージョンは2003年に発表されました。9075:2003、もしくは単にSQL:2003と呼ばれています。SQL99の一つ前のバージョンはSQL:1999とSQL-92です。それぞれ前のバージョンを置き換えたバージョンですので、より昔のバージョンへの適合性についての主張には公的な利点がありません。PostgreSQLの開発では、伝統的な機能もしくは共通の考えと矛盾しないように、標準SQLの最新の公式バージョンに準拠させようとしています。9075ワーキンググループで言及されていませんでした。SQL:2003で必須とされた機能の多くは、多少構文や機能に違いはあるものの、既にサポートされていました。適合性を高めることが将来のリリースで期待されています。SQL-92では、適合性について、Entry、Intermediate、Fullという3つの機能セットを定義しました。標準SQLの準拠をうたっているデータベース管理システムのほとんどは、Entryレベルのみに適合しています。IntermediateもしくはFullレベルの機能の全体的なセットは、非常に大量になりすぎるか、もしくは旧来の動作と競合するからです。SQL:1999から、標準SQLは、SQL-92で見受けられた3レベルに機能を非効率的に分散させるのではなく、個々の機能を大規模な集合として定義されるようになりました。した機能の大規模なサブセットを、全てのSQL準拠の実装が提供しなければならない"コア"機能として表しています。いくつかの省略可能な機能は"パッケージ"という形にまとめられ、SQLの実装はこれに対して互換性をうたうことができるようになりました。特定機能のグループへの準拠が可能です。SQL:2003標準はまた、数個の部品に分かれています。それぞれ省略した名前を持ちます。この部品に連続した番号が付いていないことに注意してください。1、2、および11番の部品に対応しています。SQL99標準は、5つの部分に分かれています。フレームワーク、ファンデーション、コールレベルインタフェース、永続格納モジュール、およびホスト言語バインディングです。PostgreSQLでは、フレームワーク、ファンデーション、およびホスト言語バインディングのみをカバーしています。コールレベルインタフェースはODBCインタフェースと似ており、永続格納モジュールはPL/pgSQLプログラミング言語と似ています。どちらの場合も完全な準拠は特に意図されていませんし、検証されていません。PostgreSQLはSQL:2003の主な機能のほとんどをサポートします。完全なコアの互換性に必要な164の必須機能の内、PostgreSQLは少なくとも150個に適合します。省略可能な機能を数多くサポートします。ここに記載する必要はないかもしれませんが、本書の執筆時点で、SQL:2003のコアに完全に適合したデータベース管理システムのバージョンはありません。以下の二つの節では、PostgreSQLでサポートされているこれらの機能をリストし、その後にPostgreSQLでまだサポートされていないSQL:2003で定義された機能をリストしています。これら二つのリストは大変よく似ています。サポート対象であるとリストされている機能が些細な部分で準拠していない可能性があり、サポートされていないある機能の大部分が、実際には実装されている可能性があります。本書の主要な部分では、動作するものとしないものについての最も正確な情報を常に伝えます。ハイフンを含む機能コードはサブ機能です。従って、特定のサブ機能がサポートされない場合、他のサブ機能がサポートされていてもそのメイン機能はサポートされない機能としてリストされています。数える前にCHARACTER値の最後の空白を除去します。サポートされていない。