| <!-- |
| $PostgreSQL: pgsql/doc/src/sgml/ref/alter_type.sgml,v 1.4 2006/09/16 00:30:16 momjian Exp $ |
| PostgreSQL documentation |
| --> |
| |
| <refentry id="SQL-ALTERTYPE"> |
| <refmeta> |
| <refentrytitle id="sql-altertype-title">ALTER TYPE</refentrytitle> |
| <refmiscinfo>SQL - Language Statements</refmiscinfo> |
| </refmeta> |
| |
| <refnamediv> |
| <refname> |
| ALTER TYPE |
| </refname> |
| <refpurpose> |
| change the definition of a type |
| </refpurpose> |
| </refnamediv> |
| |
| <indexterm zone="sql-altertype"> |
| <primary>ALTER TYPE</primary> |
| </indexterm> |
| |
| <refsynopsisdiv> |
| <synopsis> |
| ALTER TYPE <replaceable class="PARAMETER">name</replaceable> |
| SET DEFAULT ENCODING ( storage_directive ) |
| OWNER TO <replaceable class="PARAMETER">new_owner</replaceable> |
| | SET SCHEMA <replaceable class="PARAMETER">new_schema</replaceable> |
| </synopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para> |
| <command>ALTER TYPE</command> changes the definition of an existing type. |
| The only currently available capabilities are changing the owner and schema |
| of a type. |
| </para> |
| |
| <para> |
| You must own the type to use <command>ALTER TYPE</>. |
| To change the schema of a type, you must also have |
| <literal>CREATE</literal> privilege on the new schema. |
| To alter the owner, you must also be a direct or indirect member of the new |
| owning role, and that role must have <literal>CREATE</literal> privilege on |
| the type's schema. (These restrictions enforce that altering the owner |
| doesn't do anything you couldn't do by dropping and recreating the type. |
| However, a superuser can alter ownership of any type anyway.) |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Parameters</title> |
| |
| <para> |
| <variablelist> |
| <varlistentry> |
| <term><replaceable class="PARAMETER">name</replaceable></term> |
| <listitem> |
| <para> |
| The name (possibly schema-qualified) of an existing type to |
| alter. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><replaceable class="PARAMETER">new_owner</replaceable></term> |
| <listitem> |
| <para> |
| The user name of the new owner of the type. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><replaceable class="PARAMETER">new_schema</replaceable></term> |
| <listitem> |
| <para> |
| The new schema for the type. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><replaceable class="PARAMETER">storage_directive</replaceable></term> |
| <listitem> |
| <para> |
| Sets any or all of the following: compression type, compression level, |
| and blocksize, using the following format: |
| COMPRESSTYPE={ZLIB | QUICKLZ | RLE_TYPE | NONE} | |
| COMPRESSLEVEL={0-9} | BLOCKSIZE={8192-2097152} |
| </para> |
| <para> |
| For more information on the compression and blocksize parameters, see the |
| "Storage Directives for Column-level Compression" in the Greenplum |
| Database Administrator Guide. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| </variablelist> |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Examples</title> |
| |
| <para> |
| To change the owner of the user-defined type <literal>email</literal> |
| to <literal>joe</literal>: |
| <programlisting> |
| ALTER TYPE email OWNER TO joe; |
| </programlisting> |
| </para> |
| |
| <para> |
| To change the schema of the user-defined type <literal>email</literal> |
| to <literal>customers</literal>: |
| <programlisting> |
| ALTER TYPE email SET SCHEMA customers; |
| </programlisting> |
| </para> |
| |
| <para> |
| To change the type int to have ZLIB column compression: |
| <programlisting> |
| ALTER TYPE int SET DEFAULT ENCODING (COMPRESSTYPE=ZLIB); |
| </programlisting> |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Compatibility</title> |
| |
| <para> |
| There is no <command>ALTER TYPE</command> statement in the SQL |
| standard. |
| </para> |
| </refsect1> |
| </refentry> |