new_schemaここでactionは以下のいずれかです。TABLEは既存の外部テーブルの定義を変更します。以下のように複数の副構文があります。TABLEと同じ文法を使用して、外部テーブルに新しい列を追加します。]この構文は外部テーブルから列を削除します。何らかのその他のテーブルがこの列に依存する場合、CASCADEを付けなければなりません。EXISTSが指定された場合、列が存在しなくてもエラーになりません。この場合注意が代わりに発せられます。EXISTS外部テーブルが存在しない場合でもエラーとしません。この場合注意メッセージが発生します。TYPEこの構文は外部テーブルの列の型を変更します。NULL列にNULL値を許すか許さないかどうか印を付けます。STATISTICSこの構文は、この後のANALYZE操作における列単位の統計情報収集対象を設定します。TABLEの類似の構文を参照してください。)この構文は属性単位のオプションを設定または未設定状態にします。TABLEにおける類似の構文を参照してください。OWNERこの構文は外部テーブルの所有者を指定ユーザに変更します。RENAMERENAME構文は外部テーブルの名前または外部テーブル内の個々の列の名前を変更します。SCHEMAこの構文は外部テーブルを別のスキーマに移動します。)外部テーブルもしくはその列の1つに対するオプションを変更します。ADD、SET、DROPは実行する操作を指定します。明示的な操作指定がない場合ADDと仮定されます。重複したオプション名は許されません。(しかしテーブルオプションと列オプションとで同じ名前を持たせることは問題ありません。オプションの名前と値は外部データラッパのライブラリを使用して検証されます。SCHEMA以外の操作はすべて、複数変更項目リストにまとめて並行に適用することができます。複数の列の追加、複数の列の型変更、またはその両方を単一のコマンドで行うことができます。TABLEを使用するためにはテーブルの所有者でなければなりません。外部テーブルのスキーマを変更するためには、新しいスキーマに対してCREATE権限を持っていなければなりません。所有者を変更するためには、新しく所有者となるロールの直接的または間接的なメンバでなければなりません。新しく所有者となるロールはテーブルのスキーマに対してCREATE権限を持っていなければなりません。(これらの制限により強制的に所有者の変更が、テーブルの削除と再作成を行ってもできないことを行わないようにします。列の追加または列の型の変更を行うためには、そのデータ型に対するUSAGE権限も必要です。パラメータname変更対象の既存外部テーブルの名前(スキーマ修飾可)です。column_name新しい列または既存の列の名前です。new_column_name既存の列に対する新しい名前です。new_nameテーブルの新しい名前です。data_type新しい列のデータ型、または既存の列に対する新しいデータ型です。CASCADE削除される列に依存するオブジェクト(この列を参照するビューなど)を自動的に削除します。RESTRICT何らかの依存するオブジェクトが存在する場合削除を拒否します。これがデフォルトの動作です。new_ownerテーブルの新しい所有者のユーザ名です。new_schemaテーブルの移動先となるスキーマの名前です。注意COLUMNキーワードはノイズであり、省略可能です。TYPEにより列の型が変更された時、外部サーバとの一貫性は検査されません。確実にテーブル定義をリモート側に合わせることはユーザの責任です。TABLEを参照してください。列を非NULLと印付けします。NULL;外部テーブルのオプションを変更します。TYPE構文は標準SQLに準拠します。他の構文は標準SQLに対するPostgreSQLの拡張です。TABLEコマンドに複数の操作を指定する機能も拡張です。COLUMNを用いて外部テーブルの列だけを削除してゼロ列のテーブルとして残すことができます。これは拡張であり、SQLではゼロ列の外部テーブルを許しません。