Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
861a0d7b
Commit
861a0d7b
authored
Sep 13, 2001
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update compatibility information.
parent
a6496a23
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
99 additions
and
106 deletions
+99
-106
doc/src/sgml/ref/create_type.sgml
doc/src/sgml/ref/create_type.sgml
+45
-57
doc/src/sgml/ref/drop_type.sgml
doc/src/sgml/ref/drop_type.sgml
+54
-49
No files found.
doc/src/sgml/ref/create_type.sgml
View file @
861a0d7b
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.2
2 2001/09/13 15:55:24
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.2
3 2001/09/13 19:05:29
petere Exp $
Postgres documentation
-->
...
...
@@ -210,7 +210,7 @@ CREATE
<para>
<command>CREATE TYPE</command> allows the user to register a new user data
type with Postgre
s
for use in the current data base. The
type with Postgre
SQL
for use in the current data base. The
user who defines a type becomes its owner.
<replaceable class="parameter">typename</replaceable> is
the name of the new type and must be unique within the
...
...
@@ -235,9 +235,9 @@ CREATE
New base data types can be fixed length, in which case
<replaceable class="parameter">internallength</replaceable> is a
positive integer, or variable length,
in which case Postgre
s
assumes that the new type has the
in which case Postgre
SQL
assumes that the new type has the
same format
as the Postgre
s
-supplied data type, <type>text</type>.
as the Postgre
SQL
-supplied data type, <type>text</type>.
To indicate that a type is variable length, set
<replaceable class="parameter">internallength</replaceable>
to <option>VARIABLE</option>.
...
...
@@ -274,9 +274,9 @@ CREATE
The optional arguments
<replaceable class="parameter">send_function</replaceable> and
<replaceable class="parameter">receive_function</replaceable>
are used when the application program requesting Postgre
s
are used when the application program requesting Postgre
SQL
services resides on a different machine. In this case,
the machine on which Postgre
s
runs may use a format for the data
the machine on which Postgre
SQL
runs may use a format for the data
type different from that used on the remote machine.
In this case it is appropriate to convert data items to a
standard form when sending from the server to the client
...
...
@@ -327,91 +327,79 @@ CREATE
Two generalized built-in functions, array_in and
array_out, exist for quick creation of variable-length
array types. These functions operate on arrays of any
existing Postgre
s
type.
existing Postgre
SQL
type.
</para>
</refsect2>
</refsect1>
<refsect1 id="SQL-CREATETYPE-notes">
<title>Notes</title>
<para>
Type names cannot begin with the underscore character
(<quote><literal>_</literal></quote>) and can only be 31
characters long. This is because PostgreSQL silently creates an
array type for each base type with a name consisting of the base
type's name prepended with an underscore.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
<para>
This command creates the
box
data type and then uses the
This command creates the
<type>box</type>
data type and then uses the
type in a table definition:
<programlisting>
<programlisting>
CREATE TYPE box (INTERNALLENGTH = 8,
INPUT = my_procedure_1, OUTPUT = my_procedure_2);
CREATE TABLE myboxes (id INT4, description box);
</programlisting>
</programlisting>
</para>
<para>
This command creates a variable length array type with
integer
elements:
<type>integer</type>
elements:
<programlisting>
<programlisting>
CREATE TYPE int4array (INPUT = array_in, OUTPUT = array_out,
INTERNALLENGTH = VARIABLE, ELEMENT = int4);
CREATE TABLE myarrays (id int4, numbers int4array);
</programlisting>
</programlisting>
</para>
<para>
This command creates a large object type and uses it in
a table definition:
<programlisting>
<programlisting>
CREATE TYPE bigobj (INPUT = lo_filein, OUTPUT = lo_fileout,
INTERNALLENGTH = VARIABLE);
CREATE TABLE big_objs (id int4, obj bigobj);
</programlisting>
</programlisting>
</para>
</refsect1>
<refsect2 id="R2-SQL-CREATETYPE-3">
<refsect2info>
<date>1998-09-21</date>
</refsect2info>
<title>
Notes
</title>
<para>
Type names cannot begin with the underscore character
("_") and can only be 31 characters long. This is because
Postgres silently creates an array type for each base type
with a name consisting of the base type's name prepended
with an underscore.
</para>
<refsect1 id="SQL-CREATETYPE-compatibility">
<title>Compatibility</title>
<para>
Refer to <command>DROP TYPE</command> to remove an existing type.
</para>
<para>
See also <command>CREATE FUNCTION</command>,
<command>CREATE OPERATOR</command> and the chapter on Large Objects
in the <citetitle>PostgreSQL Programmer's Guide</citetitle>.
</para>
</refsect2>
<para>
This <command>CREATE TYPE</command> command is a
<productname>PostgreSQL</productname> extension. There is a
<command>CREATE TYPE</command> statement in SQL99 that is rather
different in detail.
</para>
</refsect1>
<refsect1 id="R1-SQL-CREATETYPE-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-CREATETYPE-4">
<refsect2info>
<date>1998-09-21</date>
</refsect2info>
<title>
SQL3
</title>
<para>
<command>CREATE TYPE</command> is an <acronym>SQL3</acronym> statement.
</para>
</refsect2>
<refsect1 id="SQL-CREATETYPE-see-also">
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createfunction"></member>
<member><xref linkend="sql-droptype"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
</simplelist>
</refsect1>
</refentry>
...
...
doc/src/sgml/ref/drop_type.sgml
View file @
861a0d7b
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_type.sgml,v 1.1
0 2001/09/03 12:57:50
petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_type.sgml,v 1.1
1 2001/09/13 19:05:29
petere Exp $
Postgres documentation
-->
...
...
@@ -95,64 +95,69 @@ ERROR: RemoveType: type '<replaceable class="parameter">typename</replaceable>'
<para>
Only the owner of a type can remove it.
</para>
</refsect1>
<refsect2 id="R2-SQL-DROPTYPE-3">
<refsect2info>
<date>1998-09-22</date>
</refsect2info>
<title>
Notes
</title>
<para>
DROP TYPE statement is a <productname>Postgres</productname>
language extension.
</para>
<para>
Refer to <command>CREATE TYPE</command> for
information on how to create types.
</para>
<para>
It is the user's responsibility to remove any operators,
functions, aggregates, access methods, subtypes, and tables
that use a deleted type.
</para>
<refsect1 id="SQL-DROPTYPE-notes">
<title>Notes</title>
<para>
If a built-in type is removed, the behavior of the backend
is unpredictable.
</para>
</refsect2>
<itemizedlist>
<listitem>
<para>
It is the user's responsibility to remove any operators,
functions, aggregates, access methods, subtypes, and tables that
use a deleted type.
</para>
</listitem>
<listitem>
<para>
If a built-in type is removed, the behavior of the server is
unpredictable.
</para>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 id="R1-SQL-DROPTYPE-2">
<title>
Usage
</title>
<refsect1 id="SQL-DROPTYPE-examples">
<title>Examples</title>
<para>
To remove the <
literal>box</literal
> type:
To remove the <
type>box</type
> type:
<programlisting>
<programlisting>
DROP TYPE box;
</programlisting>
</programlisting>
</para>
</refsect1>
<refsect1 id="R1-SQL-DROPTYPE-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-DROPTYPE-5">
<refsect2info>
<date>1998-09-22</date>
</refsect2info>
<title>
SQL3
</title>
<para>
<command>DROP TYPE</command> is a <acronym>SQL3</acronym> statement.
</para>
</refsect2>
<refsect1 id="SQL-DROPTYPE-compatibility">
<title>Compatibility</title>
<para>
A <command>DROP TYPE</command> statement exists in SQL99. As with
most other <quote>drop</quote> commands, <command>DROP
TYPE</command> in SQL99 requires a <quote>drop behavior</quote>
clause to select between dropping all dependent objects or refusing
to drop if dependent objects exist:
<synopsis>
DROP TYPE <replaceable>name</replaceable> { CASCADE | RESTRICT }
</synopsis>
<productname>PostgreSQL</productname> currently ignores
dependencies altogether.
</para>
<para>
Note that the <command>CREATE TYPE</command> command and the data
type extension mechanisms in <productname>PostgreSQL</productname>
differ from SQL99.
</para>
</refsect1>
<refsect1 id="SQL-DROPTYPE-see-also">
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-createtype"></member>
</simplelist>
</refsect1>
</refentry>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment