mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Start updating for the v7.0 release.
Use "generic functions" for math and other routines. Use SQL92 "type 'literal'" syntax rather than Postgres "'literal'::type".
This commit is contained in:
parent
2dabd2cd1f
commit
39f69bc38f
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>PostgreSQL</productname> is available without cost. This manual
|
<productname>PostgreSQL</productname> is available without cost. This manual
|
||||||
describes version 6.5 of <productname>PostgreSQL</productname>.
|
describes version 7.0 of <productname>PostgreSQL</productname>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -31,7 +31,7 @@ sgml-indent-data:t
|
|||||||
sgml-parent-document:nil
|
sgml-parent-document:nil
|
||||||
sgml-default-dtd-file:"./reference.ced"
|
sgml-default-dtd-file:"./reference.ced"
|
||||||
sgml-exposed-tags:nil
|
sgml-exposed-tags:nil
|
||||||
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
sgml-local-catalogs:("/usr/lib/sgml/catalog")
|
||||||
sgml-local-ecat-files:nil
|
sgml-local-ecat-files:nil
|
||||||
End:
|
End:
|
||||||
-->
|
-->
|
||||||
|
@ -368,82 +368,88 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry> abstime(datetime) </entry>
|
<entry>abstime(timestamp)</entry>
|
||||||
<entry>abstime</entry>
|
<entry>abstime</entry>
|
||||||
<entry>convert to abstime</entry>
|
<entry>convert to abstime</entry>
|
||||||
<entry> abstime('now'::datetime) </entry>
|
<entry>abstime(timestamp 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> age(datetime,datetime) </entry>
|
<entry>age(timestamp)</entry>
|
||||||
<entry> timespan </entry>
|
<entry>interval</entry>
|
||||||
<entry>preserve months and years</entry>
|
<entry>preserve months and years</entry>
|
||||||
<entry> age('now','1957-06-13'::datetime) </entry>
|
<entry>age(timestamp '1957-06-13')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> datetime(abstime) </entry>
|
<entry>age(timestamp,timestamp)</entry>
|
||||||
<entry> datetime </entry>
|
<entry>interval</entry>
|
||||||
<entry> convert to datetime </entry>
|
<entry>preserve months and years</entry>
|
||||||
<entry> datetime('now'::abstime) </entry>
|
<entry>age('now', timestamp '1957-06-13')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> datetime(date) </entry>
|
<entry>timestamp(abstime)</entry>
|
||||||
<entry> datetime </entry>
|
<entry>timestamp</entry>
|
||||||
<entry> convert to datetime </entry>
|
<entry>convert to timestamp</entry>
|
||||||
<entry> datetime('today'::date) </entry>
|
<entry>timestamp(abstime 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> datetime(date,time) </entry>
|
<entry>timestamp(date)</entry>
|
||||||
<entry> datetime </entry>
|
<entry>timestamp</entry>
|
||||||
<entry> convert to datetime </entry>
|
<entry>convert to timestamp</entry>
|
||||||
<entry> datetime('1998-02-24'::datetime, '23:07'::time); </entry>
|
<entry>timestamp(date 'today')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> date_part(text,datetime) </entry>
|
<entry>timestamp(date,time)</entry>
|
||||||
|
<entry>timestamp</entry>
|
||||||
|
<entry>convert to timestamp</entry>
|
||||||
|
<entry>timestamp(timestamp '1998-02-24',time '23:07');</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>date_part(text,timestamp)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>portion of date</entry>
|
<entry>portion of date</entry>
|
||||||
<entry> date_part('dow','now'::datetime) </entry>
|
<entry>date_part('dow',timestamp 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> date_part(text,timespan) </entry>
|
<entry>date_part(text,interval)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>portion of time</entry>
|
<entry>portion of time</entry>
|
||||||
<entry> date_part('hour','4 hrs 3 mins'::timespan) </entry>
|
<entry>date_part('hour',interval '4 hrs 3 mins')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> date_trunc(text,datetime) </entry>
|
<entry>date_trunc(text,timestamp)</entry>
|
||||||
<entry> datetime </entry>
|
<entry>timestamp</entry>
|
||||||
<entry>truncate date</entry>
|
<entry>truncate date</entry>
|
||||||
<entry> date_trunc('month','now'::abstime) </entry>
|
<entry>date_trunc('month',abstime 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>isfinite(abstime)</entry>
|
<entry>isfinite(abstime)</entry>
|
||||||
<entry>bool</entry>
|
<entry>bool</entry>
|
||||||
<entry>a finite time?</entry>
|
<entry>a finite time?</entry>
|
||||||
<entry> isfinite('now'::abstime) </entry>
|
<entry>isfinite(abstime 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> isfinite(datetime) </entry>
|
<entry>isfinite(timestamp)</entry>
|
||||||
<entry>bool</entry>
|
<entry>bool</entry>
|
||||||
<entry>a finite time?</entry>
|
<entry>a finite time?</entry>
|
||||||
<entry> isfinite('now'::datetime) </entry>
|
<entry>isfinite(timestamp 'now')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> isfinite(timespan) </entry>
|
<entry>isfinite(interval)</entry>
|
||||||
<entry>bool</entry>
|
<entry>bool</entry>
|
||||||
<entry>a finite time?</entry>
|
<entry>a finite time?</entry>
|
||||||
<entry> isfinite('4 hrs'::timespan) </entry>
|
<entry>isfinite(interval '4 hrs')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> reltime(timespan) </entry>
|
<entry>reltime(interval)</entry>
|
||||||
<entry>reltime</entry>
|
<entry>reltime</entry>
|
||||||
<entry>convert to reltime</entry>
|
<entry>convert to reltime</entry>
|
||||||
<entry> reltime('4 hrs'::timespan) </entry>
|
<entry>reltime(interval '4 hrs')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> timespan(reltime) </entry>
|
<entry>interval(reltime)</entry>
|
||||||
<entry> timespan </entry>
|
<entry>interval</entry>
|
||||||
<entry> convert to timespan </entry>
|
<entry>convert to interval</entry>
|
||||||
<entry> timespan('4 hours'::reltime) </entry>
|
<entry>interval(reltime '4 hours')</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@ -459,8 +465,8 @@
|
|||||||
`decade', `century', `millenium', `millisecond', and `microsecond'.
|
`decade', `century', `millenium', `millisecond', and `microsecond'.
|
||||||
<function>date_part</function> allows `dow'
|
<function>date_part</function> allows `dow'
|
||||||
to return day of week and `epoch' to return seconds since 1970
|
to return day of week and `epoch' to return seconds since 1970
|
||||||
(for <type>datetime</type>)
|
(for <type>timestamp</type>)
|
||||||
or 'epoch' to return total elapsed seconds (for <type>timespan</type>).
|
or 'epoch' to return total elapsed seconds (for <type>interval</type>).
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
@ -477,11 +483,18 @@
|
|||||||
on 2000-01-24.
|
on 2000-01-24.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Formatting functions provide a powerful set of tools for converting
|
The <productname>Postgres</productname>
|
||||||
|
formatting functions provide a powerful set of tools for converting
|
||||||
various datetypes (date/time, int, float, numeric) to formatted strings
|
various datetypes (date/time, int, float, numeric) to formatted strings
|
||||||
and reverse convert from formatted strings to original datetypes.
|
and for converting from formatted strings to specific datetypes.
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>
|
||||||
|
The second argument for all formatting functions is a template to
|
||||||
|
be used for the conversion.
|
||||||
|
</para>
|
||||||
|
</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -497,17 +510,11 @@
|
|||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
|
||||||
<entry> to_char(datetime, text) </entry>
|
|
||||||
<entry> text </entry>
|
|
||||||
<entry> convert datetime to string </entry>
|
|
||||||
<entry> to_char('now'::datetime, 'HH12:MI:SS') </entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(timestamp, text)</entry>
|
<entry>to_char(timestamp, text)</entry>
|
||||||
<entry>text</entry>
|
<entry>text</entry>
|
||||||
<entry>convert timestamp to string</entry>
|
<entry>convert timestamp to string</entry>
|
||||||
<entry> to_char( now(), 'HH12:MI:SS') </entry>
|
<entry>to_char(timestamp 'now','HH12:MI:SS')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(int, text)</entry>
|
<entry>to_char(int, text)</entry>
|
||||||
@ -525,13 +532,7 @@
|
|||||||
<entry>to_char(numeric, text)</entry>
|
<entry>to_char(numeric, text)</entry>
|
||||||
<entry>text</entry>
|
<entry>text</entry>
|
||||||
<entry>convert numeric to string</entry>
|
<entry>convert numeric to string</entry>
|
||||||
<entry> to_char(-125.8, '999D99S') </entry>
|
<entry>to_char(numeric '-125.8', '999D99S')</entry>
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry> to_datetime(text, text) </entry>
|
|
||||||
<entry> datetime </entry>
|
|
||||||
<entry> convert string to datetime </entry>
|
|
||||||
<entry> to_datetime('05 Dec 2000 13', 'DD Mon YYYY HH') </entry>
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_date(text, text)</entry>
|
<entry>to_date(text, text)</entry>
|
||||||
@ -556,17 +557,13 @@
|
|||||||
</table>
|
</table>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
For all formatting functions is second argument format-picture.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<table tocentry="1">
|
<table tocentry="1">
|
||||||
<title>Format-pictures for date/time to_char() version.</title>
|
<title>Templates for date/time conversions</title>
|
||||||
<tgroup cols="2">
|
<tgroup cols="2">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Format-picture</entry>
|
<entry>Template</entry>
|
||||||
<entry>Description</entry>
|
<entry>Description</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
@ -585,7 +582,7 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>SS</entry>
|
<entry>SS</entry>
|
||||||
<entry> socond (00-59) </entry>
|
<entry>second (00-59)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>SSSS</entry>
|
<entry>SSSS</entry>
|
||||||
@ -613,27 +610,27 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>MONTH</entry>
|
<entry>MONTH</entry>
|
||||||
<entry> full month name (9-letters) - all characters is upper </entry>
|
<entry>full upper case month name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Month</entry>
|
<entry>Month</entry>
|
||||||
<entry> full month name (9-letters) - first character is upper </entry>
|
<entry>full mixed case month name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>month</entry>
|
<entry>month</entry>
|
||||||
<entry> full month name (9-letters) - all characters is lower </entry>
|
<entry>full lower case month name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>MON</entry>
|
<entry>MON</entry>
|
||||||
<entry> abbreviated month name (3-letters) - all characters is upper </entry>
|
<entry>upper case abbreviated month name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Mon</entry>
|
<entry>Mon</entry>
|
||||||
<entry> abbreviated month name (3-letters) - first character is upper </entry>
|
<entry>abbreviated mixed case month name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>mon</entry>
|
<entry>mon</entry>
|
||||||
<entry> abbreviated month name (3-letters) - all characters is lower </entry>
|
<entry>abbreviated lower case month name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>MM</entry>
|
<entry>MM</entry>
|
||||||
@ -641,27 +638,27 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>DAY</entry>
|
<entry>DAY</entry>
|
||||||
<entry> full day name (9-letters) - all characters is upper </entry>
|
<entry>full upper case day name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Day</entry>
|
<entry>Day</entry>
|
||||||
<entry> full day name (9-letters) - first character is upper </entry>
|
<entry>full mixed case day name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>day</entry>
|
<entry>day</entry>
|
||||||
<entry> full day name (9-letters) - all characters is lower </entry>
|
<entry>full lower case day name (9 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>DY</entry>
|
<entry>DY</entry>
|
||||||
<entry> abbreviated day name (3-letters) - all characters is upper </entry>
|
<entry>abbreviated upper case day name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Dy</entry>
|
<entry>Dy</entry>
|
||||||
<entry> abbreviated day name (3-letters) - first character is upper </entry>
|
<entry>abbreviated mixed case day name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>dy</entry>
|
<entry>dy</entry>
|
||||||
<entry> abbreviated day name (3-letters) - all characters is upper </entry>
|
<entry>abbreviated lower case day name (3 chars)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>DDD</entry>
|
<entry>DDD</entry>
|
||||||
@ -685,11 +682,11 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>CC</entry>
|
<entry>CC</entry>
|
||||||
<entry> century (2-digits) </entry>
|
<entry>century (2 digits)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>J</entry>
|
<entry>J</entry>
|
||||||
<entry> julian day (days since January 1, 4712 BC) </entry>
|
<entry>Julian Day (days since January 1, 4712 BC)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>Q</entry>
|
<entry>Q</entry>
|
||||||
@ -697,7 +694,7 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>RM</entry>
|
<entry>RM</entry>
|
||||||
<entry> month in roman numeral (I-XII; I=JAN) </entry>
|
<entry>month in Roman Numerals (I-XII; I=JAN)</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
@ -705,13 +702,13 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
All format-pictures allow use suffixes (postfix / prefix). The suffix is
|
All templates allow the use of prefix and suffix modifiers. Modifiers are
|
||||||
always valid for a near format-picture. The 'FX' is global prefix only.
|
always valid for use in templates. The prefix 'FX' is a global modifier only.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<table tocentry="1">
|
<table tocentry="1">
|
||||||
<title>Suffixes for format-pictures for date/time to_char() version.</title>
|
<title>Suffixes for templates for date/time to_char()</title>
|
||||||
<tgroup cols="3">
|
<tgroup cols="3">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
@ -723,29 +720,27 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>FM</entry>
|
<entry>FM</entry>
|
||||||
<entry> fill mode - prefix </entry>
|
<entry>fill mode prefix</entry>
|
||||||
<entry>FMMonth</entry>
|
<entry>FMMonth</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>TH</entry>
|
<entry>TH</entry>
|
||||||
<entry> upper ordinal number - postfix </entry>
|
<entry>upper ordinal number suffix</entry>
|
||||||
<entry>DDTH</entry>
|
<entry>DDTH</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>th</entry>
|
<entry>th</entry>
|
||||||
<entry> lower ordinal number - postfix </entry>
|
<entry>lower ordinal number suffix</entry>
|
||||||
<entry>DDTH</entry>
|
<entry>DDTH</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>FX</entry>
|
<entry>FX</entry>
|
||||||
<entry> FX - (Fixed format) global format-picture switch.
|
<entry>FiXed format global option (see below)</entry>
|
||||||
The TO_DATETIME / TO_DATE skip blank space if this option is
|
|
||||||
not use. Must by used as first item in formt-picture. </entry>
|
|
||||||
<entry>FX Month DD Day</entry>
|
<entry>FX Month DD Day</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>SP</entry>
|
<entry>SP</entry>
|
||||||
<entry> spell mode (not implement now)</entry>
|
<entry>spell mode (not yet implemented)</entry>
|
||||||
<entry>DDSP</entry>
|
<entry>DDSP</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -753,38 +748,60 @@
|
|||||||
</table>
|
</table>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Usage notes:
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<function>to_timestamp</function> and <function>to_date</function>
|
||||||
|
skip blank space if the <literal>FX</literal> option is
|
||||||
|
not use. <literal>FX</literal> Must be specified as the first item
|
||||||
|
in the template.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
'\' - must be use as double \\, example '\\HH\\MI\\SS'
|
'\' - must be use as double \\, example '\\HH\\MI\\SS'
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
'"' - string between a quotation marks is skipen and not is parsed.
|
'"' - string between a quotation marks is skipen and not is parsed.
|
||||||
If you want write '"' to output you must use \\", example '\\"YYYY Month\\"'.
|
If you want write '"' to output you must use \\", example '\\"YYYY Month\\"'.
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
text - the PostgreSQL's to_char() support text without '"', but string
|
text - the PostgreSQL's to_char() support text without '"', but string
|
||||||
between a quotation marks is fastly and you have guarantee, that a text
|
between a quotation marks is fastly and you have guarantee, that a text
|
||||||
not will interpreted as a keyword (format-picture), exapmle '"Hello Year: "YYYY'.
|
not will interpreted as a keyword (format-picture), exapmle '"Hello Year: "YYYY'.
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<table tocentry="1">
|
<table tocentry="1">
|
||||||
<title>Format-pictures for number (int/float/numeric) to_char() version.</title>
|
<title>Templates for to_char(<replaceable>numeric</replaceable>)</title>
|
||||||
<tgroup cols="2">
|
<tgroup cols="2">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Format-picture</entry>
|
<entry>Template</entry>
|
||||||
<entry>Description</entry>
|
<entry>Description</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>9</entry>
|
<entry>9</entry>
|
||||||
<entry> return value with the specified number of digits, and if digit is
|
<entry>value with the specified number of digits</entry>
|
||||||
not available use blank space </entry>
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>0</entry>
|
<entry>0</entry>
|
||||||
<entry> as 9, but instead blank space use zero </entry>
|
<entry>value with leading zeros</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>. (period)</entry>
|
<entry>. (period)</entry>
|
||||||
@ -796,11 +813,11 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>PR</entry>
|
<entry>PR</entry>
|
||||||
<entry> return negative value in angle brackets </entry>
|
<entry>negative value in angle brackets</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>S</entry>
|
<entry>S</entry>
|
||||||
<entry> return negatice value with minus sign (use locales) </entry>
|
<entry>negative value with minus sign (use locales)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>L</entry>
|
<entry>L</entry>
|
||||||
@ -816,28 +833,28 @@
|
|||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>MI</entry>
|
<entry>MI</entry>
|
||||||
<entry> return minus sign on specified position (if number < 0) </entry>
|
<entry>minus sign on specified position (if number < 0)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>PL</entry>
|
<entry>PL</entry>
|
||||||
<entry> return plus sign on specified position (if number > 0) - PostgreSQL extension </entry>
|
<entry>plus sign on specified position (if number > 0)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>SG</entry>
|
<entry>SG</entry>
|
||||||
<entry> return plus/minus sign on specified position - PostgreSQL extension </entry>
|
<entry>plus/minus sign on specified position</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>RN</entry>
|
<entry>RN</entry>
|
||||||
<entry> return number as roman number (number must be between 1 and 3999) </entry>
|
<entry>roman numeral (input between 1 and 3999)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>TH or th</entry>
|
<entry>TH or th</entry>
|
||||||
<entry> convert number to ordinal number (not convert numbers under zero and decimal numbers) - PostgreSQL extension </entry>
|
<entry>convert to ordinal number</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>V</entry>
|
<entry>V</entry>
|
||||||
<entry> arg1 * (10 ^ n); - return a value multiplied by 10^n (where 'n' is number of '9's after the 'V').
|
<entry>Shift <replaceable>n</replaceable> digits (see
|
||||||
The to_char() not support use 'V' and decimal poin together, example "99.9V99". </entry>
|
notes)</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>EEEE</entry>
|
<entry>EEEE</entry>
|
||||||
@ -849,16 +866,65 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note: A sign formatted via 'SG', 'PL' or 'MI' is not anchor in number;
|
Usage notes:
|
||||||
to_char(-12, 'S9999') produce: <ProgramListing> ' -12' </ProgramListing>,
|
|
||||||
but to_char(-12, 'MI9999') produce: <ProgramListing> '- 12' </ProgramListing>.
|
<itemizedlist>
|
||||||
The Oracle not allow use 'MI' ahead of '9', in the Oracle must be it always
|
<listitem>
|
||||||
after '9'.
|
<para>
|
||||||
|
A sign formatted using 'SG', 'PL' or 'MI' is not an anchor in
|
||||||
|
the number; for example,
|
||||||
|
to_char(-12, 'S9999') produces <literal>' -12'</literal>,
|
||||||
|
but to_char(-12, 'MI9999') produces <literal>'- 12'</literal>.
|
||||||
|
The Oracle implementation does not allow the use of
|
||||||
|
<literal>MI</literal> ahead of <literal>9</literal>, but rather
|
||||||
|
requires that <literal>9</literal> preceeds
|
||||||
|
<literal>MI</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>PL</literal>, <literal>SG</literal>, and
|
||||||
|
<literal>TH</literal> are <productname>Postgres</productname>
|
||||||
|
extensions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<entry>9</entry>
|
||||||
|
<entry>value with the specified number of digits, and if digit is
|
||||||
|
not available use blank space</entry>
|
||||||
|
</row>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>TH</literal> does not convert values less than zero
|
||||||
|
and does not convert decimal numbers. <literal>TH</literal> is
|
||||||
|
a <productname>Postgres</productname> extension.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>V</literal> effectively
|
||||||
|
multiplies the input values by
|
||||||
|
<literal>10^<replaceable>n</replaceable></literal>, where
|
||||||
|
<replaceable>n</replaceable> is the number of digits following
|
||||||
|
<literal>V</literal>.
|
||||||
|
<function>to_char</function> does not support the use of
|
||||||
|
<literal>V</literal> combined with a decimal point
|
||||||
|
(e.g. "99.9V99" is not allowed).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<table tocentry="1">
|
<table tocentry="1">
|
||||||
<title> The to_char() examples. </title>
|
<title><function>to_char</function> Examples</title>
|
||||||
<tgroup cols="2">
|
<tgroup cols="2">
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
@ -869,145 +935,143 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(now(),'Day, HH12:MI:SS')</entry>
|
<entry>to_char(now(),'Day, HH12:MI:SS')</entry>
|
||||||
<entry><ProgramListing> 'Tuesday , 05:39:18' </ProgramListing></entry>
|
<entry><literal>'Tuesday , 05:39:18'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(now(),'FMDay, HH12:MI:SS')</entry>
|
<entry>to_char(now(),'FMDay, HH12:MI:SS')</entry>
|
||||||
<entry><ProgramListing> 'Tuesday, 05:39:18' </ProgramListing></entry>
|
<entry><literal>'Tuesday, 05:39:18'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-0.1,'99.99')</entry>
|
<entry>to_char(-0.1,'99.99')</entry>
|
||||||
<entry><ProgramListing> ' -.10' </ProgramListing></entry>
|
<entry><literal>' -.10'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-0.1,'FM9.99')</entry>
|
<entry>to_char(-0.1,'FM9.99')</entry>
|
||||||
<entry><ProgramListing> '-.1' </ProgramListing></entry>
|
<entry><literal>'-.1'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(0.1,'0.9')</entry>
|
<entry>to_char(0.1,'0.9')</entry>
|
||||||
<entry><ProgramListing> ' 0.1' </ProgramListing></entry>
|
<entry><literal>' 0.1'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(12,'9990999.9')</entry>
|
<entry>to_char(12,'9990999.9')</entry>
|
||||||
<entry><ProgramListing> ' 0012.0' </ProgramListing></entry>
|
<entry><literal>' 0012.0'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(12,'FM9990999.9')</entry>
|
<entry>to_char(12,'FM9990999.9')</entry>
|
||||||
<entry><ProgramListing> '0012' </ProgramListing></entry>
|
<entry><literal>'0012'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'999')</entry>
|
<entry>to_char(485,'999')</entry>
|
||||||
<entry><ProgramListing> ' 485' </ProgramListing></entry>
|
<entry><literal>' 485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'999')</entry>
|
<entry>to_char(-485,'999')</entry>
|
||||||
<entry><ProgramListing> '-485' </ProgramListing></entry>
|
<entry><literal>'-485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'9 9 9')</entry>
|
<entry>to_char(485,'9 9 9')</entry>
|
||||||
<entry><ProgramListing> ' 4 8 5' </ProgramListing></entry>
|
<entry><literal>' 4 8 5'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(1485,'9,999')</entry>
|
<entry>to_char(1485,'9,999')</entry>
|
||||||
<entry><ProgramListing> ' 1,485' </ProgramListing></entry>
|
<entry><literal>' 1,485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(1485,'9G999')</entry>
|
<entry>to_char(1485,'9G999')</entry>
|
||||||
<entry><ProgramListing> ' 1 485' </ProgramListing></entry>
|
<entry><literal>' 1 485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(148.5,'999.999')</entry>
|
<entry>to_char(148.5,'999.999')</entry>
|
||||||
<entry><ProgramListing> ' 148.500' </ProgramListing></entry>
|
<entry><literal>' 148.500'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(148.5,'999D999')</entry>
|
<entry>to_char(148.5,'999D999')</entry>
|
||||||
<entry><ProgramListing> ' 148,500' </ProgramListing></entry>
|
<entry><literal>' 148,500'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(3148.5,'9G999D999')</entry>
|
<entry>to_char(3148.5,'9G999D999')</entry>
|
||||||
<entry><ProgramListing> ' 3 148,500' </ProgramListing></entry>
|
<entry><literal>' 3 148,500'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'999S')</entry>
|
<entry>to_char(-485,'999S')</entry>
|
||||||
<entry><ProgramListing> '485-' </ProgramListing></entry>
|
<entry><literal>'485-'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'999MI')</entry>
|
<entry>to_char(-485,'999MI')</entry>
|
||||||
<entry><ProgramListing> '485-' </ProgramListing></entry>
|
<entry><literal>'485-'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'999MI')</entry>
|
<entry>to_char(485,'999MI')</entry>
|
||||||
<entry><ProgramListing> '485' </ProgramListing></entry>
|
<entry><literal>'485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'PL999')</entry>
|
<entry>to_char(485,'PL999')</entry>
|
||||||
<entry><ProgramListing> '+485' </ProgramListing></entry>
|
<entry><literal>'+485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'SG999')</entry>
|
<entry>to_char(485,'SG999')</entry>
|
||||||
<entry><ProgramListing> '+485' </ProgramListing></entry>
|
<entry><literal>'+485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'SG999')</entry>
|
<entry>to_char(-485,'SG999')</entry>
|
||||||
<entry><ProgramListing> '-485' </ProgramListing></entry>
|
<entry><literal>'-485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'9SG99')</entry>
|
<entry>to_char(-485,'9SG99')</entry>
|
||||||
<entry><ProgramListing> '4-85' </ProgramListing></entry>
|
<entry><literal>'4-85'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(-485,'999PR')</entry>
|
<entry>to_char(-485,'999PR')</entry>
|
||||||
<entry><ProgramListing> '<485>' </ProgramListing></entry>
|
<entry><literal>'<485>'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'L999')</entry>
|
<entry>to_char(485,'L999')</entry>
|
||||||
<entry><ProgramListing> 'DM 485' </ProgramListing></entry>
|
<entry><literal>'DM 485</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'RN')</entry>
|
<entry>to_char(485,'RN')</entry>
|
||||||
<entry><ProgramListing> ' CDLXXXV' </ProgramListing></entry>
|
<entry><literal>' CDLXXXV'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485,'FMRN')</entry>
|
<entry>to_char(485,'FMRN')</entry>
|
||||||
<entry><ProgramListing> 'CDLXXXV' </ProgramListing></entry>
|
<entry><literal>'CDLXXXV'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(5.2,'FMRN')</entry>
|
<entry>to_char(5.2,'FMRN')</entry>
|
||||||
<entry><ProgramListing> 'V' </ProgramListing></entry>
|
<entry><literal>V</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(482,'999th')</entry>
|
<entry>to_char(482,'999th')</entry>
|
||||||
<entry><ProgramListing> ' 482nd' </ProgramListing></entry>
|
<entry><literal>' 482nd'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485, '"Good number:"999')</entry>
|
<entry>to_char(485, '"Good number:"999')</entry>
|
||||||
<entry><ProgramListing> 'Good number: 485' </ProgramListing></entry>
|
<entry><literal>'Good number: 485'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999')</entry>
|
<entry>to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999')</entry>
|
||||||
<entry><ProgramListing> 'Pre-decimal: 485 Post-decimal: .800' </ProgramListing></entry>
|
<entry><literal>'Pre-decimal: 485 Post-decimal: .800'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(12,'99V999')</entry>
|
<entry>to_char(12,'99V999')</entry>
|
||||||
<entry><ProgramListing> ' 12000' </ProgramListing></entry>
|
<entry><literal>' 12000'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(12.4,'99V999')</entry>
|
<entry>to_char(12.4,'99V999')</entry>
|
||||||
<entry><ProgramListing> ' 12400' </ProgramListing></entry>
|
<entry><literal>' 12400'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>to_char(12.45, '99V9')</entry>
|
<entry>to_char(12.45, '99V9')</entry>
|
||||||
<entry><ProgramListing> ' 125' </ProgramListing></entry>
|
<entry><literal>' 125'</literal></entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</table>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect1>
|
<sect1>
|
||||||
<title>Geometric Functions</title>
|
<title>Geometric Functions</title>
|
||||||
|
|
||||||
@ -1030,106 +1094,97 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry> area(box) </entry>
|
<entry>area(object)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry> area of box </entry>
|
<entry>area of circle, ...</entry>
|
||||||
<entry> area('((0,0),(1,1))'::box) </entry>
|
<entry>area(box '((0,0),(1,1))')</entry>
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry> area(circle) </entry>
|
|
||||||
<entry> float8 </entry>
|
|
||||||
<entry> area of circle </entry>
|
|
||||||
<entry> area('((0,0),2.0)'::circle) </entry>
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>box(box,box)</entry>
|
<entry>box(box,box)</entry>
|
||||||
<entry>box</entry>
|
<entry>box</entry>
|
||||||
<entry>boxes to intersection box</entry>
|
<entry>boxes to intersection box</entry>
|
||||||
<entry> box('((0,0),(1,1))','((0.5,0.5),(2,2))') </entry>
|
<entry>box(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> center(box) </entry>
|
<entry>center(object)</entry>
|
||||||
<entry>point</entry>
|
<entry>point</entry>
|
||||||
<entry> center of object </entry>
|
<entry>center of circle, ...</entry>
|
||||||
<entry> center('((0,0),(1,2))'::box) </entry>
|
<entry>center(box '((0,0),(1,2))')</entry>
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry> center(circle) </entry>
|
|
||||||
<entry> point </entry>
|
|
||||||
<entry> center of object </entry>
|
|
||||||
<entry> center('((0,0),2.0)'::circle) </entry>
|
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>diameter(circle)</entry>
|
<entry>diameter(circle)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>diameter of circle</entry>
|
<entry>diameter of circle</entry>
|
||||||
<entry> diameter('((0,0),2.0)'::circle) </entry>
|
<entry>diameter(circle '((0,0),2.0)')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>height(box)</entry>
|
<entry>height(box)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>vertical size of box</entry>
|
<entry>vertical size of box</entry>
|
||||||
<entry> height('((0,0),(1,1))'::box) </entry>
|
<entry>height(box '((0,0),(1,1))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>isclosed(path)</entry>
|
<entry>isclosed(path)</entry>
|
||||||
<entry>bool</entry>
|
<entry>bool</entry>
|
||||||
<entry>a closed path?</entry>
|
<entry>a closed path?</entry>
|
||||||
<entry> isclosed('((0,0),(1,1),(2,0))'::path) </entry>
|
<entry>isclosed(path '((0,0),(1,1),(2,0))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>isopen(path)</entry>
|
<entry>isopen(path)</entry>
|
||||||
<entry>bool</entry>
|
<entry>bool</entry>
|
||||||
<entry>an open path?</entry>
|
<entry>an open path?</entry>
|
||||||
<entry> isopen('[(0,0),(1,1),(2,0)]'::path) </entry>
|
<entry>isopen(path '[(0,0),(1,1),(2,0)]')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry> length(lseg) </entry>
|
<entry>length(object)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry> length of line segment </entry>
|
<entry>length of line segment, ...</entry>
|
||||||
<entry> length('((-1,0),(1,0))'::lseg) </entry>
|
<entry>length(path '((-1,0),(1,0))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>length(path)</entry>
|
<entry>length(path)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>length of path</entry>
|
<entry>length of path</entry>
|
||||||
<entry> length('((0,0),(1,1),(2,0))'::path) </entry>
|
<entry>length(path '((0,0),(1,1),(2,0))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>pclose(path)</entry>
|
<entry>pclose(path)</entry>
|
||||||
<entry>path</entry>
|
<entry>path</entry>
|
||||||
<entry>convert path to closed</entry>
|
<entry>convert path to closed</entry>
|
||||||
<entry> popen('[(0,0),(1,1),(2,0)]'::path) </entry>
|
<entry>popen(path '[(0,0),(1,1),(2,0)]')</entry>
|
||||||
</row>
|
</row>
|
||||||
|
<!--
|
||||||
|
Not defined by this name. Implements the intersection operator '#'
|
||||||
<row>
|
<row>
|
||||||
<entry>point(lseg,lseg)</entry>
|
<entry>point(lseg,lseg)</entry>
|
||||||
<entry>point</entry>
|
<entry>point</entry>
|
||||||
<entry>intersection</entry>
|
<entry>intersection</entry>
|
||||||
<entry> point('((-1,0),(1,0))'::lseg,'((-2,-2),(2,2))'::lseg) </entry>
|
<entry>point(lseg '((-1,0),(1,0))',lseg '((-2,-2),(2,2))')</entry>
|
||||||
</row>
|
</row>
|
||||||
|
-->
|
||||||
<row>
|
<row>
|
||||||
<entry> points(path) </entry>
|
<entry>npoint(path)</entry>
|
||||||
<entry>int4</entry>
|
<entry>int4</entry>
|
||||||
<entry>number of points</entry>
|
<entry>number of points</entry>
|
||||||
<entry> points('[(0,0),(1,1),(2,0)]'::path) </entry>
|
<entry>npoints(path '[(0,0),(1,1),(2,0)]')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>popen(path)</entry>
|
<entry>popen(path)</entry>
|
||||||
<entry>path</entry>
|
<entry>path</entry>
|
||||||
<entry> convert path to open </entry>
|
<entry>convert path to open path</entry>
|
||||||
<entry> popen('((0,0),(1,1),(2,0))'::path) </entry>
|
<entry>popen(path '((0,0),(1,1),(2,0))')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>radius(circle)</entry>
|
<entry>radius(circle)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>radius of circle</entry>
|
<entry>radius of circle</entry>
|
||||||
<entry> radius('((0,0),2.0)'::circle) </entry>
|
<entry>radius(circle '((0,0),2.0)')</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>width(box)</entry>
|
<entry>width(box)</entry>
|
||||||
<entry>float8</entry>
|
<entry>float8</entry>
|
||||||
<entry>horizontal size</entry>
|
<entry>horizontal size</entry>
|
||||||
<entry> width('((0,0),(1,1))'::box) </entry>
|
<entry>width(box '((0,0),(1,1))')</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
<Chapter Id="odbc">
|
<chapter id="odbc">
|
||||||
<DocInfo>
|
<docinfo>
|
||||||
<AuthorGroup>
|
<authorgroup>
|
||||||
<Author>
|
<author>
|
||||||
<FirstName>Tim</FirstName>
|
<firstname>Tim</firstname>
|
||||||
<Surname>Goeke</Surname>
|
<surname>Goeke</surname>
|
||||||
</Author>
|
</author>
|
||||||
<Author>
|
<author>
|
||||||
<FirstName>Thomas</FirstName>
|
<firstname>Thomas</firstname>
|
||||||
<Surname>Lockhart</Surname>
|
<surname>Lockhart</surname>
|
||||||
</Author>
|
</author>
|
||||||
</AuthorGroup>
|
</authorgroup>
|
||||||
<Date>1998-10-21</Date>
|
<date>1998-10-21</date>
|
||||||
</DocInfo>
|
</docinfo>
|
||||||
|
|
||||||
<Title>ODBC Interface</Title>
|
<title>ODBC Interface</title>
|
||||||
|
|
||||||
<Note>
|
<note>
|
||||||
<Para>
|
<para>
|
||||||
Background information originally by
|
Background information originally by
|
||||||
<ULink url="mailto:tgoeke@xpressway.com">Tim Goeke</ULink>
|
<ulink url="mailto:tgoeke@xpressway.com">Tim Goeke</ulink>
|
||||||
</Para>
|
</para>
|
||||||
</Note>
|
</note>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
<acronym>ODBC</acronym> (Open Database Connectivity) is an abstract
|
<acronym>ODBC</acronym> (Open Database Connectivity) is an abstract
|
||||||
<acronym>API</acronym>
|
<acronym>API</acronym>
|
||||||
which allows you to write applications which can interoperate
|
which allows you to write applications which can interoperate
|
||||||
@ -31,42 +31,43 @@ with various <acronym>RDBMS</acronym> servers.
|
|||||||
between frontend applications and database servers,
|
between frontend applications and database servers,
|
||||||
allowing a user or developer to write applications which are
|
allowing a user or developer to write applications which are
|
||||||
transportable between servers from different manufacturers..
|
transportable between servers from different manufacturers..
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Sect1>
|
<sect1>
|
||||||
<Title>Background</Title>
|
<title>Background</title>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
The <acronym>ODBC</acronym> <acronym>API</acronym> matches up
|
The <acronym>ODBC</acronym> <acronym>API</acronym> matches up
|
||||||
on the backend to an <acronym>ODBC</acronym>-compatible data source.
|
on the backend to an <acronym>ODBC</acronym>-compatible data source.
|
||||||
This could be anything from a text file to an Oracle or
|
This could be anything from a text file to an Oracle or
|
||||||
<productname>Postgres</productname> <acronym>RDBMS</acronym>.
|
<productname>Postgres</productname> <acronym>RDBMS</acronym>.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
The backend access come from <acronym>ODBC</acronym> drivers,
|
The backend access come from <acronym>ODBC</acronym> drivers,
|
||||||
or vendor specifc drivers that
|
or vendor specifc drivers that
|
||||||
allow data access. <productname>psqlODBC</productname> is such a driver,
|
allow data access. <productname>psqlODBC</productname> is such a driver,
|
||||||
along with others that are
|
along with others that are
|
||||||
available, such as the OpenLink <acronym>ODBC</acronym> drivers.
|
available, such as the OpenLink <acronym>ODBC</acronym> drivers.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
Once you write an <acronym>ODBC</acronym> application,
|
Once you write an <acronym>ODBC</acronym> application,
|
||||||
you <emphasis>should</emphasis> be able to connect to <emphasis>any</emphasis>
|
you <emphasis>should</emphasis> be able to connect to <emphasis>any</emphasis>
|
||||||
back end database, regardless of the vendor, as long as the database schema
|
back end database, regardless of the vendor, as long as the database schema
|
||||||
is the same.
|
is the same.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
For example. you could have <productname>MS SQL Server</productname>
|
For example. you could have <productname>MS SQL Server</productname>
|
||||||
and <productname>Postgres</productname> servers which have
|
and <productname>Postgres</productname> servers which have
|
||||||
exactly the same data. Using <acronym>ODBC</acronym>,
|
exactly the same data. Using <acronym>ODBC</acronym>,
|
||||||
your Windows application would make exactly the
|
your Windows application would make exactly the
|
||||||
same calls and the back end data source would look the same (to the Windows
|
same calls and the back end data source would look the same (to the Windows
|
||||||
app).
|
app).
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
|
<!--
|
||||||
<para>
|
<para>
|
||||||
<ulink url="http://www.insightdist.com/">Insight Distributors</ulink>
|
<ulink url="http://www.insightdist.com/">Insight Distributors</ulink>
|
||||||
provides active and ongoing
|
provides active and ongoing
|
||||||
@ -75,45 +76,46 @@ They provide a
|
|||||||
<ulink url="http://www.insightdist.com/psqlodbc/"><acronym>FAQ</acronym></ulink>,
|
<ulink url="http://www.insightdist.com/psqlodbc/"><acronym>FAQ</acronym></ulink>,
|
||||||
ongoing development on the code base, and actively participate on the
|
ongoing development on the code base, and actively participate on the
|
||||||
<ulink url="mailto:interfaces@postgresql.org">interfaces mailing list</ulink>.
|
<ulink url="mailto:interfaces@postgresql.org">interfaces mailing list</ulink>.
|
||||||
</Para>
|
</para>
|
||||||
|
-->
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1>
|
<sect1>
|
||||||
<title><productname>Windows</productname> Applications</title>
|
<title><productname>Windows</productname> Applications</title>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
In the real world, differences in drivers and the level of
|
In the real world, differences in drivers and the level of
|
||||||
<acronym>ODBC</acronym> support
|
<acronym>ODBC</acronym> support
|
||||||
lessens the potential of <acronym>ODBC</acronym>:
|
lessens the potential of <acronym>ODBC</acronym>:
|
||||||
|
|
||||||
<ItemizedList Mark="bullet" Spacing="compact">
|
<itemizedlist spacing="compact" mark="bullet">
|
||||||
<ListItem>
|
<listitem>
|
||||||
<Para>
|
<para>
|
||||||
Access, Delphi, and Visual Basic all support <acronym>ODBC</acronym> directly.
|
Access, Delphi, and Visual Basic all support <acronym>ODBC</acronym> directly.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<ListItem>
|
<listitem>
|
||||||
<Para>
|
<para>
|
||||||
Under C++, such as Visual C++,
|
Under C++, such as Visual C++,
|
||||||
you can use the C++ <acronym>ODBC</acronym> <acronym>API</acronym>.
|
you can use the C++ <acronym>ODBC</acronym> <acronym>API</acronym>.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<ListItem>
|
<listitem>
|
||||||
<Para>
|
<para>
|
||||||
In Visual C++, you can use the CRecordSet class, which wraps the
|
In Visual C++, you can use the CRecordSet class, which wraps the
|
||||||
<acronym>ODBC</acronym> <acronym>API</acronym>
|
<acronym>ODBC</acronym> <acronym>API</acronym>
|
||||||
set within an MFC 4.2 class. This is the easiest route if you are doing
|
set within an MFC 4.2 class. This is the easiest route if you are doing
|
||||||
Windows C++ development under Windows NT.
|
Windows C++ development under Windows NT.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</ItemizedList>
|
</itemizedlist>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Writing Applications</title>
|
<title>Writing Applications</title>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
<quote>
|
<quote>
|
||||||
If I write an application for <productname>Postgres</productname>
|
If I write an application for <productname>Postgres</productname>
|
||||||
can I write it using <acronym>ODBC</acronym> calls
|
can I write it using <acronym>ODBC</acronym> calls
|
||||||
@ -121,31 +123,31 @@ to the <productname>Postgres</productname> server,
|
|||||||
or is that only when another database program
|
or is that only when another database program
|
||||||
like MS SQL Server or Access needs to access the data?</quote>
|
like MS SQL Server or Access needs to access the data?</quote>
|
||||||
</para>
|
</para>
|
||||||
<Para>
|
<para>
|
||||||
The <acronym>ODBC</acronym> <acronym>API</acronym>
|
The <acronym>ODBC</acronym> <acronym>API</acronym>
|
||||||
is the way to go.
|
is the way to go.
|
||||||
For <productname>Visual C++</productname> coding you can find out more at
|
For <productname>Visual C++</productname> coding you can find out more at
|
||||||
Microsoft's web site or in your <productname>VC++</productname> docs.
|
Microsoft's web site or in your <productname>VC++</productname> docs.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
Visual Basic and the other RAD tools have Recordset objects
|
Visual Basic and the other RAD tools have Recordset objects
|
||||||
that use <acronym>ODBC</acronym>
|
that use <acronym>ODBC</acronym>
|
||||||
directly to access data. Using the data-aware controls, you can quickly
|
directly to access data. Using the data-aware controls, you can quickly
|
||||||
link to the <acronym>ODBC</acronym> back end database
|
link to the <acronym>ODBC</acronym> back end database
|
||||||
(<Emphasis>very</Emphasis> quickly).
|
(<emphasis>very</emphasis> quickly).
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Para>
|
<para>
|
||||||
Playing around with MS Access will help you sort this out. Try using
|
Playing around with MS Access will help you sort this out. Try using
|
||||||
<literal>File->Get External Data</literal>.
|
<literal>File->Get External Data</literal>.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<Tip>
|
<tip>
|
||||||
<Para>
|
<para>
|
||||||
You'll have to set up a DSN first.
|
You'll have to set up a DSN first.
|
||||||
</Para>
|
</para>
|
||||||
</Tip>
|
</tip>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<Para>
|
<Para>
|
||||||
@ -169,7 +171,7 @@ supported on at least some platforms.
|
|||||||
demonstrated under Linux with <productname>Postgres</productname> v6.4
|
demonstrated under Linux with <productname>Postgres</productname> v6.4
|
||||||
using the <productname>psqlODBC</productname>
|
using the <productname>psqlODBC</productname>
|
||||||
driver contained in the <productname>Postgres</productname> distribution.
|
driver contained in the <productname>Postgres</productname> distribution.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Building the Driver</title>
|
<title>Building the Driver</title>
|
||||||
@ -189,13 +191,13 @@ Instructions for installing <productname>iodbc</productname>
|
|||||||
document, but there is a <filename>README</filename>
|
document, but there is a <filename>README</filename>
|
||||||
that can be found inside the <productname>iodbc</productname> compressed
|
that can be found inside the <productname>iodbc</productname> compressed
|
||||||
.shar file that should explain how to get it up and running.
|
.shar file that should explain how to get it up and running.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Having said that, any driver manager that you can find for your platform
|
Having said that, any driver manager that you can find for your platform
|
||||||
should support the <productname>psqlODBC</productname> driver
|
should support the <productname>psqlODBC</productname> driver
|
||||||
or any <acronym>ODBC</acronym> driver.
|
or any <acronym>ODBC</acronym> driver.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Unix configuration files for <productname>psqlODBC</productname>
|
The Unix configuration files for <productname>psqlODBC</productname>
|
||||||
@ -207,7 +209,7 @@ a simple process to build the driver on the supported platforms. Currently
|
|||||||
these include Linux and FreeBSD but we are hoping other users will
|
these include Linux and FreeBSD but we are hoping other users will
|
||||||
contribute the necessary information to quickly expand the number of
|
contribute the necessary information to quickly expand the number of
|
||||||
platforms for which the driver can be built.
|
platforms for which the driver can be built.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
There are actually two separate methods to build the driver depending on
|
There are actually two separate methods to build the driver depending on
|
||||||
@ -219,7 +221,7 @@ The standalone installation is convenient if you have <acronym>ODBC</acronym>
|
|||||||
client applications on multiple, heterogeneous platforms. The integrated
|
client applications on multiple, heterogeneous platforms. The integrated
|
||||||
installation is convenient when the target client is the same as the
|
installation is convenient when the target client is the same as the
|
||||||
server, or when the client and server have similar runtime configurations.
|
server, or when the client and server have similar runtime configurations.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Specifically if you have received the <productname>psqlODBC</productname>
|
Specifically if you have received the <productname>psqlODBC</productname>
|
||||||
@ -232,14 +234,14 @@ of the <productname>Postgres</productname> distribution
|
|||||||
If you received the driver as a standalone package than you will run
|
If you received the driver as a standalone package than you will run
|
||||||
configure and make from the directory in which you unpacked the
|
configure and make from the directory in which you unpacked the
|
||||||
driver source.
|
driver source.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
<title>Integrated Installation</title>
|
<title>Integrated Installation</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This installation procedure is appropriate for an integrated installation.
|
This installation procedure is appropriate for an integrated installation.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -250,7 +252,7 @@ command-line argument for <application>src/configure</application>:
|
|||||||
% ./configure --with-odbc
|
% ./configure --with-odbc
|
||||||
% make
|
% make
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -259,7 +261,7 @@ Rebuild the <productname>Postgres</productname> distribution:
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% make install
|
% make install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
|
|
||||||
@ -274,7 +276,7 @@ as
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% make ODBCINST=<replaceable>filename</replaceable> install
|
% make ODBCINST=<replaceable>filename</replaceable> install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
<title>Pre-v6.4 Integrated Installation</title>
|
<title>Pre-v6.4 Integrated Installation</title>
|
||||||
@ -284,13 +286,13 @@ If you have a <productname>Postgres</productname> installation older than
|
|||||||
v6.4, you have the original source tree available,
|
v6.4, you have the original source tree available,
|
||||||
and you want to use the newest version of the <acronym>ODBC</acronym>
|
and you want to use the newest version of the <acronym>ODBC</acronym>
|
||||||
driver, then you may want to try this form of installation.
|
driver, then you may want to try this form of installation.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Copy the output tar file to your target system and unpack it into a
|
Copy the output tar file to your target system and unpack it into a
|
||||||
clean directory.
|
clean directory.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -302,7 +304,7 @@ sources, type:
|
|||||||
% make
|
% make
|
||||||
% make POSTGRESDIR=<replaceable class="parameter">PostgresTopDir</replaceable> install
|
% make POSTGRESDIR=<replaceable class="parameter">PostgresTopDir</replaceable> install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="optional">
|
<step performance="optional">
|
||||||
@ -313,7 +315,7 @@ then you can specify various destinations explicitly:
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
|
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
|
|
||||||
@ -326,7 +328,7 @@ A standalone installation is not integrated with or built on the normal
|
|||||||
for building the <acronym>ODBC</acronym> driver for multiple, heterogeneous
|
for building the <acronym>ODBC</acronym> driver for multiple, heterogeneous
|
||||||
clients who do not have a locally-installed <productname>Postgres</productname>
|
clients who do not have a locally-installed <productname>Postgres</productname>
|
||||||
source tree.
|
source tree.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The default location for libraries and headers
|
The default location for libraries and headers
|
||||||
@ -336,7 +338,7 @@ There is another system wide configuration file that gets installed
|
|||||||
as <filename>/share/odbcinst.ini</filename> (if <filename>/share</filename>
|
as <filename>/share/odbcinst.ini</filename> (if <filename>/share</filename>
|
||||||
exists) or as <filename>/etc/odbcinst.ini</filename>
|
exists) or as <filename>/etc/odbcinst.ini</filename>
|
||||||
(if <filename>/share</filename> does not exist).
|
(if <filename>/share</filename> does not exist).
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
@ -346,7 +348,7 @@ Most installation steps for <productname>Postgres</productname> do not
|
|||||||
have this requirement, and you can choose another destination which
|
have this requirement, and you can choose another destination which
|
||||||
is writable by your non-root <productname>Postgres</productname> superuser
|
is writable by your non-root <productname>Postgres</productname> superuser
|
||||||
account instead.
|
account instead.
|
||||||
</Para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
@ -355,7 +357,7 @@ The standalone installation distribution can be built from the
|
|||||||
<productname>Postgres</productname> distribution or may be obtained from
|
<productname>Postgres</productname> distribution or may be obtained from
|
||||||
<ulink url="http://www.insightdist.com/psqlodbc">Insight Distributors</ulink>,
|
<ulink url="http://www.insightdist.com/psqlodbc">Insight Distributors</ulink>,
|
||||||
the current maintainers of the non-Unix sources.
|
the current maintainers of the non-Unix sources.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Copy the zip
|
Copy the zip
|
||||||
@ -368,7 +370,7 @@ unzip it with the command
|
|||||||
The <option>-a</option> option
|
The <option>-a</option> option
|
||||||
is necessary to get rid of <acronym>DOS</acronym>
|
is necessary to get rid of <acronym>DOS</acronym>
|
||||||
CR/LF pairs in the source files.
|
CR/LF pairs in the source files.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you have the gzipped tar package than simply run
|
If you have the gzipped tar package than simply run
|
||||||
@ -376,7 +378,7 @@ If you have the gzipped tar package than simply run
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
tar -xzf <replaceable>packagename</replaceable>
|
tar -xzf <replaceable>packagename</replaceable>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<substeps>
|
<substeps>
|
||||||
|
|
||||||
@ -384,14 +386,14 @@ tar -xzf <replaceable>packagename</replaceable>
|
|||||||
<para>
|
<para>
|
||||||
To create a tar file for a complete standalone installation
|
To create a tar file for a complete standalone installation
|
||||||
from the main <productname>Postgres</productname> source tree:
|
from the main <productname>Postgres</productname> source tree:
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</substeps>
|
</substeps>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Configure the main <productname>Postgres</productname> distribution.
|
Configure the main <productname>Postgres</productname> distribution.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -401,21 +403,21 @@ Create the tar file:
|
|||||||
% cd interfaces/odbc
|
% cd interfaces/odbc
|
||||||
% make standalone
|
% make standalone
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Copy the output tar file to your target system. Be sure to transfer as
|
Copy the output tar file to your target system. Be sure to transfer as
|
||||||
a binary file if using <application>ftp</application>.
|
a binary file if using <application>ftp</application>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Unpack the tar file into a clean
|
Unpack the tar file into a clean
|
||||||
directory.
|
directory.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
@ -425,13 +427,14 @@ Configure the standalone installation:
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% ./configure
|
% ./configure
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The configuration can be done with options:
|
The configuration can be done with options:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
% ./configure --prefix=<replaceable>rootdir</replaceable> --with-odbc=<replaceable>inidir</replaceable>
|
% ./configure --prefix=<replaceable>rootdir</replaceable>
|
||||||
|
--with-odbc=<replaceable>inidir</replaceable>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
where <option>--prefix</option> installs the libraries and headers in
|
where <option>--prefix</option> installs the libraries and headers in
|
||||||
@ -439,7 +442,7 @@ the directories <filename><replaceable>rootdir</replaceable>/lib</filename> and
|
|||||||
<filename><replaceable>rootdir</replaceable>/include/iodbc</filename>, and
|
<filename><replaceable>rootdir</replaceable>/include/iodbc</filename>, and
|
||||||
<option>--with-odbc</option> installs <filename>odbcinst.ini</filename> in the
|
<option>--with-odbc</option> installs <filename>odbcinst.ini</filename> in the
|
||||||
specified directory.
|
specified directory.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that both of these options can also be used from the integrated build
|
Note that both of these options can also be used from the integrated build
|
||||||
@ -448,7 +451,7 @@ but be aware that <emphasis>when used in the integrated build</emphasis>
|
|||||||
your <productname>Postgres</productname> installation.
|
your <productname>Postgres</productname> installation.
|
||||||
<option>--with-odbc</option> applies only to the configuration file
|
<option>--with-odbc</option> applies only to the configuration file
|
||||||
<filename>odbcinst.ini</filename>.
|
<filename>odbcinst.ini</filename>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
@ -458,7 +461,7 @@ Compile and link the source code:
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% make ODBCINST=<replaceable>instdir</replaceable>
|
% make ODBCINST=<replaceable>instdir</replaceable>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You can also override the default location for installation on the
|
You can also override the default location for installation on the
|
||||||
@ -469,7 +472,7 @@ that specifies its installation directory will probably cause you
|
|||||||
headaches. It is safest simply to allow the driver to install the
|
headaches. It is safest simply to allow the driver to install the
|
||||||
odbcinst.ini file in the default directory or the directory you specified
|
odbcinst.ini file in the default directory or the directory you specified
|
||||||
on the './configure' command line with --with-odbc.
|
on the './configure' command line with --with-odbc.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@ -488,7 +491,7 @@ Install the source code:
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
% make POSTGRESDIR=<replaceable>targettree</replaceable> install
|
% make POSTGRESDIR=<replaceable>targettree</replaceable> install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
To override the library and header installation directories separately
|
To override the library and header installation directories separately
|
||||||
@ -500,15 +503,17 @@ Overriding <envar>POSTGRESDIR</envar> on the make command line will cause
|
|||||||
<envar>LIBDIR</envar> and <envar>HEADERDIR</envar>
|
<envar>LIBDIR</envar> and <envar>HEADERDIR</envar>
|
||||||
to be rooted at the new directory you specify.
|
to be rooted at the new directory you specify.
|
||||||
<envar>ODBCINST</envar> is independent of <envar>POSTGRESDIR</envar>.
|
<envar>ODBCINST</envar> is independent of <envar>POSTGRESDIR</envar>.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Here is how you would specify the various destinations explicitly:
|
Here is how you would specify the various destinations explicitly:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
% make BINDIR=<replaceable>bindir</replaceable> LIBDIR=<replaceable>libdir</replaceable> HEADERDIR=<replaceable>headerdir</replaceable> install
|
% make BINDIR=<replaceable>bindir</replaceable>
|
||||||
|
LIBDIR<replaceable>>libdi</replaceable>>
|
||||||
|
HEADERDIR=<replaceable>headerdir</replaceable> install
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
For example, typing
|
For example, typing
|
||||||
@ -522,7 +527,7 @@ For example, typing
|
|||||||
will cause the libraries and headers to be installed in the directories
|
will cause the libraries and headers to be installed in the directories
|
||||||
<filename>/opt/psqlodbc/lib</filename>
|
<filename>/opt/psqlodbc/lib</filename>
|
||||||
and <filename>/opt/psqlodbc/include/iodbc</filename> respectively.
|
and <filename>/opt/psqlodbc/include/iodbc</filename> respectively.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The command
|
The command
|
||||||
@ -534,7 +539,7 @@ The command
|
|||||||
should cause the libraries to be installed in /opt/psqlodbc/lib and
|
should cause the libraries to be installed in /opt/psqlodbc/lib and
|
||||||
the headers in /usr/local/include/iodbc. If this doesn't work as
|
the headers in /usr/local/include/iodbc. If this doesn't work as
|
||||||
expected please contact one of the maintainers.
|
expected please contact one of the maintainers.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
</sect2>
|
</sect2>
|
||||||
@ -548,7 +553,7 @@ expected please contact one of the maintainers.
|
|||||||
for the <productname>psqlODBC</productname> driver.
|
for the <productname>psqlODBC</productname> driver.
|
||||||
The file uses conventions typical for <productname>Windows</productname>
|
The file uses conventions typical for <productname>Windows</productname>
|
||||||
Registry files, but despite this restriction can be made to work.
|
Registry files, but despite this restriction can be made to work.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <filename>.odbc.ini</filename> file has three required sections.
|
The <filename>.odbc.ini</filename> file has three required sections.
|
||||||
@ -573,14 +578,14 @@ Remember that the <productname>Postgres</productname> database name is
|
|||||||
usually a single word, without path names of any sort.
|
usually a single word, without path names of any sort.
|
||||||
The <productname>Postgres</productname> server manages the actual access
|
The <productname>Postgres</productname> server manages the actual access
|
||||||
to the database, and you need only specify the name from the client.
|
to the database, and you need only specify the name from the client.
|
||||||
</Para>
|
</para>
|
||||||
</tip>
|
</tip>
|
||||||
|
|
||||||
Other entries may be inserted to control the format of the display.
|
Other entries may be inserted to control the format of the display.
|
||||||
The third required section is <literal>[ODBC]</literal>
|
The third required section is <literal>[ODBC]</literal>
|
||||||
which must contain the <literal>InstallDir</literal> keyword
|
which must contain the <literal>InstallDir</literal> keyword
|
||||||
and which may contain other options.
|
and which may contain other options.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Here is an example <filename>.odbc.ini</filename> file,
|
Here is an example <filename>.odbc.ini</filename> file,
|
||||||
@ -621,7 +626,7 @@ Driver = /opt/postgres/current/lib/libpsqlodbc.so
|
|||||||
[ODBC]
|
[ODBC]
|
||||||
InstallDir = /opt/applix/axdata/axshlib
|
InstallDir = /opt/applix/axdata/axshlib
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1>
|
<sect1>
|
||||||
<title>ApplixWare</title>
|
<title>ApplixWare</title>
|
||||||
@ -634,17 +639,17 @@ InstallDir = /opt/applix/axdata/axshlib
|
|||||||
in order for it to
|
in order for it to
|
||||||
be able to access the <productname>Postgres</productname>
|
be able to access the <productname>Postgres</productname>
|
||||||
<acronym>ODBC</acronym> software drivers.
|
<acronym>ODBC</acronym> software drivers.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<procedure>
|
<procedure>
|
||||||
<title>Enabling ApplixWare Database Access</title>
|
<title>Enabling ApplixWare Database Access</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
These instructions are for the 4.4.1 release of
|
These instructions are for the <literal>4.4.2</literal> release of
|
||||||
<productname>ApplixWare</productname> on <productname>Linux</productname>.
|
<productname>ApplixWare</productname> on <productname>Linux</productname>.
|
||||||
Refer to the <citetitle>Linux Sys Admin</citetitle> on-line book
|
Refer to the <citetitle>Linux Sys Admin</citetitle> on-line book
|
||||||
for more detailed information.
|
for more detailed information.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -655,12 +660,12 @@ find <filename>libodbc.so</filename>
|
|||||||
This library is included with the ApplixWare distribution,
|
This library is included with the ApplixWare distribution,
|
||||||
but <filename>axnet.cnf</filename> needs to be modified to point to the
|
but <filename>axnet.cnf</filename> needs to be modified to point to the
|
||||||
correct location.
|
correct location.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
As root, edit the file
|
As root, edit the file
|
||||||
<filename><replaceable>applixroot</replaceable>/applix/axdata/axnet.cnf</filename>.
|
<filename><replaceable>applixroot</replaceable>/applix/axdata/axnet.cnf</filename>.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<substeps>
|
<substeps>
|
||||||
|
|
||||||
@ -672,7 +677,7 @@ find the line that starts with
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
#libFor elfodbc /ax/<replaceable>...</replaceable>
|
#libFor elfodbc /ax/<replaceable>...</replaceable>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -684,9 +689,12 @@ libFor elfodbc <replaceable>applixroot</replaceable>/applix/axdata/axshlib/lib
|
|||||||
|
|
||||||
which will tell elfodbc to look in this directory
|
which will tell elfodbc to look in this directory
|
||||||
for the <acronym>ODBC</acronym> support library.
|
for the <acronym>ODBC</acronym> support library.
|
||||||
If you have installed applix somewhere else,
|
Typically <productname>Applix</productname> is installed in
|
||||||
|
<filename>/opt</filename> so the full path would be
|
||||||
|
<filename>/opt/applix/axdata/axshlib/lib</filename>,
|
||||||
|
but if you have installed applix somewhere else then
|
||||||
change the path accordingly.
|
change the path accordingly.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</substeps>
|
</substeps>
|
||||||
</step>
|
</step>
|
||||||
@ -702,7 +710,7 @@ TextAsLongVarchar=0
|
|||||||
|
|
||||||
to the database-specific portion of <filename>.odbc.ini</filename>
|
to the database-specific portion of <filename>.odbc.ini</filename>
|
||||||
so that text fields will not be shown as <literal>**BLOB**</literal>.
|
so that text fields will not be shown as <literal>**BLOB**</literal>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
|
|
||||||
@ -712,20 +720,20 @@ so that text fields will not be shown as <literal>**BLOB**</literal>.
|
|||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Bring up <application>Applix Data</application>
|
Bring up <application>Applix Data</application>
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Select the <productname>Postgres</productname> database of interest.
|
Select the <productname>Postgres</productname> database of interest.
|
||||||
</Para>
|
</para>
|
||||||
|
|
||||||
<substeps>
|
<substeps>
|
||||||
|
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Select <command>Query->Choose Server</command>.
|
Select <command>Query->Choose Server</command>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
@ -734,19 +742,19 @@ The database you configured in <filename>.odbc.ini</filename>
|
|||||||
should be shown. Make sure that the <option>Host: field</option>
|
should be shown. Make sure that the <option>Host: field</option>
|
||||||
is empty (if it is not, axnet will try to contact axnet on another machine
|
is empty (if it is not, axnet will try to contact axnet on another machine
|
||||||
to look for the database).
|
to look for the database).
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Select the database in the box that was launched by <command>Browse</command>,
|
Select the database in the box that was launched by <command>Browse</command>,
|
||||||
then click <command>OK</command>.
|
then click <command>OK</command>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Enter username and password in the login identification dialog,
|
Enter username and password in the login identification dialog,
|
||||||
and click <command>OK</command>.
|
and click <command>OK</command>.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</substeps>
|
</substeps>
|
||||||
|
|
||||||
@ -755,20 +763,20 @@ Enter username and password in the login identification dialog,
|
|||||||
in the lower left corner of the
|
in the lower left corner of the
|
||||||
data window. If you get an error dialog box, see the debugging section
|
data window. If you get an error dialog box, see the debugging section
|
||||||
below.
|
below.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
The 'Ready' message will appear in the lower left corner of the data
|
The 'Ready' message will appear in the lower left corner of the data
|
||||||
window. This indicates that you can now enter queries.
|
window. This indicates that you can now enter queries.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
<step performance="required">
|
<step performance="required">
|
||||||
<para>
|
<para>
|
||||||
Select a table from Query->Choose tables, and then select Query->Query
|
Select a table from Query->Choose tables, and then select Query->Query
|
||||||
to access the database. The first 50 or so rows from the table should
|
to access the database. The first 50 or so rows from the table should
|
||||||
appear.
|
appear.
|
||||||
</Para>
|
</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
</sect2>
|
</sect2>
|
||||||
@ -790,7 +798,7 @@ Cannot launch gateway on server
|
|||||||
<para>
|
<para>
|
||||||
<literal>elfodbc</literal> can't find <filename>libodbc.so</filename>.
|
<literal>elfodbc</literal> can't find <filename>libodbc.so</filename>.
|
||||||
Check your <filename>axnet.cnf</filename>.
|
Check your <filename>axnet.cnf</filename>.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -803,7 +811,7 @@ IM003::[iODBC][Driver Manager]Specified driver could not be loaded
|
|||||||
<para>
|
<para>
|
||||||
<filename>libodbc.so</filename> cannot find the driver listed in
|
<filename>libodbc.so</filename> cannot find the driver listed in
|
||||||
<filename>.odbc.ini</filename>. Verify the settings.
|
<filename>.odbc.ini</filename>. Verify the settings.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -818,7 +826,7 @@ Server: Broken Pipe
|
|||||||
problem. You might not have an up-to-date version
|
problem. You might not have an up-to-date version
|
||||||
of the <productname>Postgres</productname>
|
of the <productname>Postgres</productname>
|
||||||
<acronym>ODBC</acronym> package.
|
<acronym>ODBC</acronym> package.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -834,7 +842,7 @@ The September release of ApplixWare v4.4.1 (the first release with official
|
|||||||
exceed eight (8) characters in length.
|
exceed eight (8) characters in length.
|
||||||
Problem description ontributed by
|
Problem description ontributed by
|
||||||
<ulink url="mailto:scampbell@lear.com">Steve Campbell</ulink>.
|
<ulink url="mailto:scampbell@lear.com">Steve Campbell</ulink>.
|
||||||
</Para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -1074,7 +1082,7 @@ on the basic code for other platforms which already support
|
|||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
</Chapter>
|
</chapter>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
@ -1088,7 +1096,7 @@ sgml-indent-data:t
|
|||||||
sgml-parent-document:nil
|
sgml-parent-document:nil
|
||||||
sgml-default-dtd-file:"./reference.ced"
|
sgml-default-dtd-file:"./reference.ced"
|
||||||
sgml-exposed-tags:nil
|
sgml-exposed-tags:nil
|
||||||
sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
|
sgml-local-catalogs:("/usr/lib/sgml/CATALOG")
|
||||||
sgml-local-ecat-files:nil
|
sgml-local-ecat-files:nil
|
||||||
End:
|
End:
|
||||||
-->
|
-->
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/abort.sgml,v 1.6 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/abort.sgml,v 1.7 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ ABORT WORK;
|
|||||||
SQL92
|
SQL92
|
||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
This command is a <productname>PostgreSQL</productname> extension present
|
This command is a <productname>Postgres</productname> extension present
|
||||||
for historical reasons. <command>ROLLBACK</command> is the <acronym>SQL92</acronym>
|
for historical reasons. <command>ROLLBACK</command> is the <acronym>SQL92</acronym>
|
||||||
equivalent command.
|
equivalent command.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.10 2000/01/29 16:58:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.11 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ ALTER TABLE distributors RENAME TO suppliers;
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
SQL92 specifies some additional capabilities for <command>ALTER TABLE</command>
|
SQL92 specifies some additional capabilities for <command>ALTER TABLE</command>
|
||||||
statement which are not yet directly supported by <productname>PostgreSQL</productname>:
|
statement which are not yet directly supported by <productname>Postgres</productname>:
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
@ -308,8 +308,8 @@ DROP TABLE temp;
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The clauses to rename columns and tables are <productname>PostgreSQL</productname>
|
The clauses to rename columns and tables are <productname>Postgres</productname>
|
||||||
extensions. SQL92 does not provide for them.
|
extensions from SQL92.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</refsect2>
|
</refsect2>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.10 2000/01/14 22:11:32 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.11 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ ERROR: ALTER USER: user "username" does not exist
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<command>ALTER USER</command> is used to change the attributes of a user's
|
<command>ALTER USER</command> is used to change the attributes of a user's
|
||||||
<productname>PostgreSQL</productname> account. Only a database superuser
|
<productname>Postgres</productname> account. Only a database superuser
|
||||||
can change privileges and password expiration with this command. Ordinary
|
can change privileges and password expiration with this command. Ordinary
|
||||||
users can only change their own password.
|
users can only change their own password.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.10 2000/01/29 16:58:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.11 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ NOTICE: BEGIN: already a transaction in progress
|
|||||||
</title>
|
</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
By default, <productname>PostgreSQL</productname> executes transactions
|
By default, <productname>Postgres</productname> executes transactions
|
||||||
in <firstterm>unchained mode</firstterm>
|
in <firstterm>unchained mode</firstterm>
|
||||||
(also known as <quote>autocommit</quote> in other database
|
(also known as <quote>autocommit</quote> in other database
|
||||||
systems).
|
systems).
|
||||||
@ -116,7 +116,7 @@ NOTICE: BEGIN: already a transaction in progress
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The default transaction isolation level in
|
The default transaction isolation level in
|
||||||
<productname>PostgreSQL</productname>
|
<productname>Postgres</productname>
|
||||||
is READ COMMITTED, where queries inside the transaction see only changes
|
is READ COMMITTED, where queries inside the transaction see only changes
|
||||||
committed before query execution. So, you have to use
|
committed before query execution. So, you have to use
|
||||||
<command>SET TRANSACTION ISOLATION LEVEL SERIALIZABLE</command>
|
<command>SET TRANSACTION ISOLATION LEVEL SERIALIZABLE</command>
|
||||||
@ -128,7 +128,7 @@ NOTICE: BEGIN: already a transaction in progress
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If the transaction is committed, <productname>PostgreSQL</productname>
|
If the transaction is committed, <productname>Postgres</productname>
|
||||||
will ensure either that all updates are done or else that none of
|
will ensure either that all updates are done or else that none of
|
||||||
them are done. Transactions have the standard <acronym>ACID</acronym>
|
them are done. Transactions have the standard <acronym>ACID</acronym>
|
||||||
(atomic, consistent, isolatable, and durable) property.
|
(atomic, consistent, isolatable, and durable) property.
|
||||||
@ -185,7 +185,7 @@ BEGIN WORK;
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<command>BEGIN</command>
|
<command>BEGIN</command>
|
||||||
is a <productname>PostgreSQL</productname> language extension.
|
is a <productname>Postgres</productname> language extension.
|
||||||
There is no explicit <command>BEGIN</command>
|
There is no explicit <command>BEGIN</command>
|
||||||
command in <acronym>SQL92</acronym>;
|
command in <acronym>SQL92</acronym>;
|
||||||
transaction initiation is always implicit and it terminates either
|
transaction initiation is always implicit and it terminates either
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.12 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.13 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable> [ WITH LOCATIO
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<command>CREATE DATABASE</command> creates a new
|
<command>CREATE DATABASE</command> creates a new
|
||||||
<productname>PostgreSQL</productname> database.
|
<productname>Postgres</productname> database.
|
||||||
The creator becomes the owner of the new database.
|
The creator becomes the owner of the new database.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.12 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.13 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,26 +20,24 @@ Postgres documentation
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<refsynopsisdivinfo>
|
<refsynopsisdivinfo>
|
||||||
<date>1999-10-02</date>
|
<date>2000-03-25</date>
|
||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
CREATE FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">ftype</replaceable> [, ...] ] )
|
CREATE FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">ftype</replaceable> [, ...] ] )
|
||||||
RETURNS <replaceable class="parameter">rtype</replaceable>
|
RETURNS <replaceable class="parameter">rtype</replaceable>
|
||||||
[ WITH ( <replaceable class="parameter">attribute</replaceable> [, ...] ) ]
|
|
||||||
AS <replaceable class="parameter">definition</replaceable>
|
AS <replaceable class="parameter">definition</replaceable>
|
||||||
LANGUAGE '<replaceable class="parameter">langname</replaceable>'
|
LANGUAGE '<replaceable class="parameter">langname</replaceable>'
|
||||||
|
[ WITH ( <replaceable class="parameter">attribute</replaceable> [, ...] ) ]
|
||||||
|
|
||||||
CREATE FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">ftype</replaceable> [, ...] ] )
|
CREATE FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">ftype</replaceable> [, ...] ] )
|
||||||
RETURNS <replaceable class="parameter">rtype</replaceable>
|
RETURNS <replaceable class="parameter">rtype</replaceable>
|
||||||
[ WITH ( <replaceable class="parameter">attribute</replaceable> [, ...] ) ]
|
|
||||||
AS <replaceable class="parameter">obj_file</replaceable> , <replaceable class="parameter">link_symbol</replaceable>
|
AS <replaceable class="parameter">obj_file</replaceable> , <replaceable class="parameter">link_symbol</replaceable>
|
||||||
LANGUAGE 'C'
|
LANGUAGE 'C'
|
||||||
|
[ WITH ( <replaceable class="parameter">attribute</replaceable> [, ...] ) ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEFUNCTION-1">
|
<refsect2 id="R2-SQL-CREATEFUNCTION-1">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-09</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
@ -143,7 +141,7 @@ CREATE FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceab
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEFUNCTION-2">
|
<refsect2 id="R2-SQL-CREATEFUNCTION-2">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-09</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
@ -168,7 +166,7 @@ CREATE
|
|||||||
|
|
||||||
<refsect1 id="R1-SQL-CREATEFUNCTION-1">
|
<refsect1 id="R1-SQL-CREATEFUNCTION-1">
|
||||||
<refsect1info>
|
<refsect1info>
|
||||||
<date>1998-09-09</date>
|
<date>2000-03-25</date>
|
||||||
</refsect1info>
|
</refsect1info>
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
@ -177,28 +175,29 @@ CREATE
|
|||||||
<command>CREATE FUNCTION</command> allows a
|
<command>CREATE FUNCTION</command> allows a
|
||||||
<productname>Postgres</productname> user
|
<productname>Postgres</productname> user
|
||||||
to register a function
|
to register a function
|
||||||
with a database. Subsequently, this user is treated as the
|
with a database. Subsequently, this user is considered the
|
||||||
owner of the function.
|
owner of the function.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEFUNCTION-3">
|
<refsect2 id="R2-SQL-CREATEFUNCTION-3">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-09</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Notes
|
Notes
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Refer to the chapter in
|
Refer to the chapter in the
|
||||||
the <citetitle>PostgreSQL Programmer's Guide</citetitle>
|
<citetitle>PostgreSQL Programmer's Guide</citetitle>
|
||||||
on extending
|
on the topic of extending
|
||||||
<productname>Postgres</productname> via functions
|
<productname>Postgres</productname> via functions
|
||||||
for further information on writing external functions.
|
for further information on writing external functions.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Use <command>DROP FUNCTION</command>
|
Use <command>DROP FUNCTION</command>
|
||||||
to drop user-defined functions.
|
to remove user-defined functions.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -209,6 +208,16 @@ CREATE
|
|||||||
C-language functions, however.
|
C-language functions, however.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The full <acronym>SQL92</acronym> type syntax is allowed for
|
||||||
|
input arguments and return value. However, some details of the
|
||||||
|
type specification (e.g. the precision field for
|
||||||
|
<type>numeric</type> types) are the responsibility of the
|
||||||
|
underlying function implementation and are silently swallowed
|
||||||
|
(e.g. not recognized or
|
||||||
|
enforced) by the <command>CREATE FUNCTION</command> command.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Two <literal>internal</literal>
|
Two <literal>internal</literal>
|
||||||
functions cannot have the same C name without causing
|
functions cannot have the same C name without causing
|
||||||
@ -317,7 +326,7 @@ Point * complex_to_point (Complex *z)
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEFUNCTION-4">
|
<refsect2 id="R2-SQL-CREATEFUNCTION-4">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-04-15</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
SQL92
|
SQL92
|
||||||
@ -331,7 +340,7 @@ Point * complex_to_point (Complex *z)
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEFUNCTION-5">
|
<refsect2 id="R2-SQL-CREATEFUNCTION-5">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-09</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
SQL/PSM
|
SQL/PSM
|
||||||
@ -374,7 +383,7 @@ sgml-indent-data:t
|
|||||||
sgml-parent-document:nil
|
sgml-parent-document:nil
|
||||||
sgml-default-dtd-file:"../reference.ced"
|
sgml-default-dtd-file:"../reference.ced"
|
||||||
sgml-exposed-tags:nil
|
sgml-exposed-tags:nil
|
||||||
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
sgml-local-catalogs:("/usr/lib/sgml/catalog")
|
||||||
sgml-local-ecat-files:nil
|
sgml-local-ecat-files:nil
|
||||||
End:
|
End:
|
||||||
-->
|
-->
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.1 2000/01/14 22:11:32 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.2 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ CREATE GROUP <replaceable class="PARAMETER">name</replaceable>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>SYSID</literal> clause can be used to choose
|
The <literal>SYSID</literal> clause can be used to choose
|
||||||
the <productname>PostgreSQL</productname> group id of the new
|
the <productname>Postgres</productname> group id of the new
|
||||||
group. It is not necessary to do so, however.
|
group. It is not necessary to do so, however.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.12 2000/03/18 18:03:12 tgl Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.13 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Postgres documentation
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<refsynopsisdivinfo>
|
<refsynopsisdivinfo>
|
||||||
<date>1999-07-20</date>
|
<date>2000-03-25</date>
|
||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
CREATE OPERATOR <replaceable>name</replaceable> ( PROCEDURE = <replaceable class="parameter">func_name</replaceable>
|
CREATE OPERATOR <replaceable>name</replaceable> ( PROCEDURE = <replaceable class="parameter">func_name</replaceable>
|
||||||
@ -32,7 +32,7 @@ CREATE OPERATOR <replaceable>name</replaceable> ( PROCEDURE = <replaceable class
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEOPERATOR-1">
|
<refsect2 id="R2-SQL-CREATEOPERATOR-1">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1999-04-14</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
@ -138,7 +138,7 @@ CREATE OPERATOR <replaceable>name</replaceable> ( PROCEDURE = <replaceable class
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEOPERATOR-2">
|
<refsect2 id="R2-SQL-CREATEOPERATOR-2">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1999-04-14</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
@ -162,7 +162,7 @@ CREATE
|
|||||||
|
|
||||||
<refsect1 id="R1-SQL-CREATEOPERATOR-1">
|
<refsect1 id="R1-SQL-CREATEOPERATOR-1">
|
||||||
<refsect1info>
|
<refsect1info>
|
||||||
<date>1999-04-14</date>
|
<date>2000-03-25</date>
|
||||||
</refsect1info>
|
</refsect1info>
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
@ -248,13 +248,13 @@ CREATE
|
|||||||
Hence, the query optimizer could freely convert:
|
Hence, the query optimizer could freely convert:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
"0,0,1,1"::box >>> MYBOXES.description
|
box '((0,0),(1,1))' >>> MYBOXES.description
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
to
|
to
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
MYBOXES.description <<< "0,0,1,1"::box
|
MYBOXES.description <<< box '((0,0),(1,1))'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -269,11 +269,11 @@ MYBOXES.description <<< "0,0,1,1"::box
|
|||||||
equal, !==.
|
equal, !==.
|
||||||
The negator link allows the query optimizer to simplify
|
The negator link allows the query optimizer to simplify
|
||||||
<programlisting>
|
<programlisting>
|
||||||
NOT MYBOXES.description === "0,0,1,1"::box
|
NOT MYBOXES.description === box '((0,0),(1,1))'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
to
|
to
|
||||||
<programlisting>
|
<programlisting>
|
||||||
MYBOXES.description !== "0,0,1,1"::box
|
MYBOXES.description !== box '((0,0),(1,1))'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -331,7 +331,7 @@ MYBOXES.description !== "0,0,1,1"::box
|
|||||||
The RESTRICT and JOIN options assist the query optimizer in estimating
|
The RESTRICT and JOIN options assist the query optimizer in estimating
|
||||||
result sizes. If a clause of the form:
|
result sizes. If a clause of the form:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
MYBOXES.description <<< "0,0,1,1"::box
|
MYBOXES.description <<< box '((0,0),(1,1))'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
is present in the qualification,
|
is present in the qualification,
|
||||||
then <productname>Postgres</productname> may have to
|
then <productname>Postgres</productname> may have to
|
||||||
@ -342,7 +342,7 @@ MYBOXES.description <<< "0,0,1,1"::box
|
|||||||
<command>CREATE FUNCTION</command>) which accepts arguments of the correct
|
<command>CREATE FUNCTION</command>) which accepts arguments of the correct
|
||||||
data types and returns a floating point number. The
|
data types and returns a floating point number. The
|
||||||
query optimizer simply calls this function, passing the
|
query optimizer simply calls this function, passing the
|
||||||
parameter "0,0,1,1" and multiplies the result by the relation
|
parameter <literal>((0,0),(1,1))</literal> and multiplies the result by the relation
|
||||||
size to get the expected number of instances.
|
size to get the expected number of instances.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -356,11 +356,11 @@ MYBOXES.description <<< "0,0,1,1"::box
|
|||||||
<para>
|
<para>
|
||||||
The difference between the function
|
The difference between the function
|
||||||
<programlisting>
|
<programlisting>
|
||||||
my_procedure_1 (MYBOXES.description, "0,0,1,1"::box)
|
my_procedure_1 (MYBOXES.description, box '((0,0),(1,1))')
|
||||||
</programlisting>
|
</programlisting>
|
||||||
and the operator
|
and the operator
|
||||||
<programlisting>
|
<programlisting>
|
||||||
MYBOXES.description === "0,0,1,1"::box
|
MYBOXES.description === box '((0,0),(1,1))'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
is that <productname>Postgres</productname>
|
is that <productname>Postgres</productname>
|
||||||
attempts to optimize operators and can
|
attempts to optimize operators and can
|
||||||
@ -373,7 +373,7 @@ MYBOXES.description === "0,0,1,1"::box
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEOPERATOR-3">
|
<refsect2 id="R2-SQL-CREATEOPERATOR-3">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1999-04-14</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Notes
|
Notes
|
||||||
@ -418,7 +418,7 @@ CREATE OPERATOR === (
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEOPERATOR-4">
|
<refsect2 id="R2-SQL-CREATEOPERATOR-4">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1999-04-14</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
SQL92
|
SQL92
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.17 1999/07/22 15:09:08 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.18 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Postgres documentation
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<refsynopsisdivinfo>
|
<refsynopsisdivinfo>
|
||||||
<date>1999-07-20</date>
|
<date>2000-03-25</date>
|
||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
CREATE [ TEMPORARY | TEMP ] TABLE <replaceable class="PARAMETER">table</replaceable> (
|
CREATE [ TEMPORARY | TEMP ] TABLE <replaceable class="PARAMETER">table</replaceable> (
|
||||||
@ -35,9 +35,6 @@ CREATE [ TEMPORARY | TEMP ] TABLE <replaceable class="PARAMETER">table</replacea
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATETABLE-1">
|
<refsect2 id="R2-SQL-CREATETABLE-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
</title>
|
</title>
|
||||||
@ -158,9 +155,6 @@ CREATE [ TEMPORARY | TEMP ] TABLE <replaceable class="PARAMETER">table</replacea
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATETABLE-2">
|
<refsect2 id="R2-SQL-CREATETABLE-2">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
</title>
|
</title>
|
||||||
@ -212,9 +206,6 @@ ERROR: DEFAULT: type mismatched
|
|||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
<refsect1 id="R1-SQL-CREATETABLE-1">
|
<refsect1 id="R1-SQL-CREATETABLE-1">
|
||||||
<refsect1info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect1info>
|
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
@ -272,9 +263,6 @@ ERROR: DEFAULT: type mismatched
|
|||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1 id="R1-SQL-DEFAULTCLAUSE-1">
|
<refsect1 id="R1-SQL-DEFAULTCLAUSE-1">
|
||||||
<refsect1info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect1info>
|
|
||||||
<title id="R1-SQL-DEFAULTCLAUSE-1-TITLE">
|
<title id="R1-SQL-DEFAULTCLAUSE-1-TITLE">
|
||||||
DEFAULT Clause
|
DEFAULT Clause
|
||||||
</title>
|
</title>
|
||||||
@ -284,9 +272,6 @@ DEFAULT <replaceable class="PARAMETER">value</replaceable>
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
</para>
|
</para>
|
||||||
<refsect2 id="R2-SQL-DEFAULTCLAUSE-1">
|
<refsect2 id="R2-SQL-DEFAULTCLAUSE-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
</title>
|
</title>
|
||||||
@ -323,9 +308,6 @@ DEFAULT <replaceable class="PARAMETER">value</replaceable>
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-DEFAULTCLAUSE-2">
|
<refsect2 id="R2-SQL-DEFAULTCLAUSE-2">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
</title>
|
</title>
|
||||||
@ -335,9 +317,6 @@ DEFAULT <replaceable class="PARAMETER">value</replaceable>
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-DEFAULTCLAUSE-3">
|
<refsect2 id="R2-SQL-DEFAULTCLAUSE-3">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
@ -415,7 +394,7 @@ DEFAULT <replaceable class="PARAMETER">value</replaceable>
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In the current release (v6.5), <productname>Postgres</productname>
|
In the current release (v7.0), <productname>Postgres</productname>
|
||||||
evaluates all default expressions at the time the table is defined.
|
evaluates all default expressions at the time the table is defined.
|
||||||
Hence, functions which are "non-cacheable" such as
|
Hence, functions which are "non-cacheable" such as
|
||||||
<function>CURRENT_TIMESTAMP</function> may not produce the desired
|
<function>CURRENT_TIMESTAMP</function> may not produce the desired
|
||||||
@ -431,9 +410,6 @@ DEFAULT <replaceable class="PARAMETER">value</replaceable>
|
|||||||
</para>
|
</para>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
<refsect2 id="R2-SQL-DEFAULTCLAUSE-4">
|
<refsect2 id="R2-SQL-DEFAULTCLAUSE-4">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Usage
|
Usage
|
||||||
</title>
|
</title>
|
||||||
@ -467,9 +443,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1 id="R1-SQL-COLUMNCONSTRAINT-1">
|
<refsect1 id="R1-SQL-COLUMNCONSTRAINT-1">
|
||||||
<refsect1info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect1info>
|
|
||||||
<title id="R1-SQL-COLUMNCONSTRAINT-1-TITLE">
|
<title id="R1-SQL-COLUMNCONSTRAINT-1-TITLE">
|
||||||
Column CONSTRAINT Clause
|
Column CONSTRAINT Clause
|
||||||
</title>
|
</title>
|
||||||
@ -482,9 +455,6 @@ CREATE TABLE distributors (
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-COLUMNCONSTRAINT-1">
|
<refsect2 id="R2-SQL-COLUMNCONSTRAINT-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
</title>
|
</title>
|
||||||
@ -561,9 +531,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-COLUMNCONSTRAINT-2">
|
<refsect2 id="R2-SQL-COLUMNCONSTRAINT-2">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
@ -601,21 +568,19 @@ CREATE TABLE distributors (
|
|||||||
<member>UNIQUE</member>
|
<member>UNIQUE</member>
|
||||||
<member>CHECK</member>
|
<member>CHECK</member>
|
||||||
<member>NOT NULL</member>
|
<member>NOT NULL</member>
|
||||||
</simplelist></para>
|
</simplelist>
|
||||||
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
<productname>Postgres</productname> does not yet
|
<productname>Postgres</productname> now
|
||||||
(at release 6.5) support
|
(new for v7.0) supports
|
||||||
REFERENCES integrity constraints. The parser
|
REFERENCES integrity constraints.
|
||||||
accepts the REFERENCES syntax but ignores the clause.
|
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-NOTNULL-1">
|
<refsect2 id="R2-SQL-NOTNULL-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
NOT NULL Constraint
|
NOT NULL Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -630,9 +595,6 @@ CREATE TABLE distributors (
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-NOTNULL-1">
|
<refsect3 id="R3-SQL-NOTNULL-1">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
</title>
|
</title>
|
||||||
@ -663,9 +625,6 @@ ERROR: ExecAppend: Fail to add null value in not null attribute "<replaceable c
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-NOTNULL-2">
|
<refsect3 id="R3-SQL-NOTNULL-2">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
@ -674,9 +633,6 @@ ERROR: ExecAppend: Fail to add null value in not null attribute "<replaceable c
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-NOTNULL-3">
|
<refsect3 id="R3-SQL-NOTNULL-3">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
Usage
|
Usage
|
||||||
</title>
|
</title>
|
||||||
@ -697,9 +653,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-UNIQUECLAUSE-1">
|
<refsect2 id="R2-SQL-UNIQUECLAUSE-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
UNIQUE Constraint
|
UNIQUE Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -813,9 +766,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CHECK-1">
|
<refsect2 id="R2-SQL-CHECK-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
The CHECK Constraint
|
The CHECK Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -849,9 +799,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-CHECK-2">
|
<refsect3 id="R3-SQL-CHECK-2">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
</title>
|
</title>
|
||||||
@ -900,9 +847,6 @@ ERROR: ExecAppend: rejected due to CHECK constraint "<replaceable class="parame
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-PRIMARYKEY-1">
|
<refsect2 id="R2-SQL-PRIMARYKEY-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
PRIMARY KEY Constraint
|
PRIMARY KEY Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -958,9 +902,6 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-PRIMARYKEY-3">
|
<refsect3 id="R3-SQL-PRIMARYKEY-3">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
Notes
|
Notes
|
||||||
</title>
|
</title>
|
||||||
@ -982,9 +923,6 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1 id="R1-SQL-TABLECONSTRAINT-1">
|
<refsect1 id="R1-SQL-TABLECONSTRAINT-1">
|
||||||
<refsect1info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect1info>
|
|
||||||
<title>
|
<title>
|
||||||
Table CONSTRAINT Clause
|
Table CONSTRAINT Clause
|
||||||
</title>
|
</title>
|
||||||
@ -995,9 +933,6 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
</para>
|
</para>
|
||||||
<refsect2 id="R2-SQL-TABLECONSTRAINT-1">
|
<refsect2 id="R2-SQL-TABLECONSTRAINT-1">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
</title>
|
</title>
|
||||||
@ -1035,9 +970,6 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-TABLECONSTRAINT-2">
|
<refsect2 id="R2-SQL-TABLECONSTRAINT-2">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
</title>
|
</title>
|
||||||
@ -1049,9 +981,6 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-TABLECONSTRAINT-3">
|
<refsect2 id="R2-SQL-TABLECONSTRAINT-3">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
@ -1067,22 +996,17 @@ ERROR: Cannot insert a duplicate key into a unique index.
|
|||||||
<member>FOREIGN KEY</member>
|
<member>FOREIGN KEY</member>
|
||||||
</simplelist>
|
</simplelist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
<productname>Postgres</productname> does not yet
|
<productname>Postgres</productname> now
|
||||||
(as of version 6.5) support FOREIGN KEY
|
supports FOREIGN KEY
|
||||||
integrity constraints. The parser understands the FOREIGN KEY syntax,
|
integrity constraints (new for release 7.0).
|
||||||
but only prints a notice and otherwise ignores the clause.
|
|
||||||
Foreign keys may be partially emulated by triggers (See the CREATE TRIGGER
|
|
||||||
statement).
|
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-UNIQUECLAUSE-4">
|
<refsect2 id="R2-SQL-UNIQUECLAUSE-4">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
UNIQUE Constraint
|
UNIQUE Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -1174,9 +1098,6 @@ CREATE TABLE distributors (
|
|||||||
</refsect2>
|
</refsect2>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-PRIMARYKEY-4">
|
<refsect2 id="R2-SQL-PRIMARYKEY-4">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
PRIMARY KEY Constraint
|
PRIMARY KEY Constraint
|
||||||
</title>
|
</title>
|
||||||
@ -1375,9 +1296,6 @@ CREATE TABLE distributors (
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATETABLE-3">
|
<refsect2 id="R2-SQL-CREATETABLE-3">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
Notes
|
Notes
|
||||||
</title>
|
</title>
|
||||||
@ -1395,9 +1313,6 @@ CREATE TABLE distributors (
|
|||||||
</title>
|
</title>
|
||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATETABLE-4">
|
<refsect2 id="R2-SQL-CREATETABLE-4">
|
||||||
<refsect2info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect2info>
|
|
||||||
<title>
|
<title>
|
||||||
SQL92
|
SQL92
|
||||||
</title>
|
</title>
|
||||||
@ -1436,9 +1351,6 @@ CREATE TEMPORARY TABLE actors (
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-UNIQUECLAUSE-1">
|
<refsect3 id="R3-SQL-UNIQUECLAUSE-1">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
UNIQUE clause
|
UNIQUE clause
|
||||||
</title>
|
</title>
|
||||||
@ -1467,9 +1379,6 @@ CREATE TEMPORARY TABLE actors (
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-NULL-1">
|
<refsect3 id="R3-SQL-NULL-1">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-12-24</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
NULL clause
|
NULL clause
|
||||||
</title>
|
</title>
|
||||||
@ -1485,9 +1394,6 @@ CREATE TEMPORARY TABLE actors (
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-NOTNULL-4">
|
<refsect3 id="R3-SQL-NOTNULL-4">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
NOT NULL clause
|
NOT NULL clause
|
||||||
</title>
|
</title>
|
||||||
@ -1510,9 +1416,6 @@ the column. Not our problem...
|
|||||||
- Thomas 1998-08-16
|
- Thomas 1998-08-16
|
||||||
|
|
||||||
<REFSECT3 ID="R3-SQL-DEFAULTCLAUSE-1">
|
<REFSECT3 ID="R3-SQL-DEFAULTCLAUSE-1">
|
||||||
<REFSECT3INFO>
|
|
||||||
<DATE>1998-09-11</DATE>
|
|
||||||
</REFSECT3INFO>
|
|
||||||
<TITLE>
|
<TITLE>
|
||||||
DEFAULT clause
|
DEFAULT clause
|
||||||
</TITLE>
|
</TITLE>
|
||||||
@ -1530,9 +1433,6 @@ the column. Not our problem...
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-CONSTRAINT-3">
|
<refsect3 id="R3-SQL-CONSTRAINT-3">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
CONSTRAINT clause
|
CONSTRAINT clause
|
||||||
</title>
|
</title>
|
||||||
@ -1647,9 +1547,6 @@ CREATE ASSERTION name CHECK ( condition )
|
|||||||
|
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-CHECK-4">
|
<refsect3 id="R3-SQL-CHECK-4">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
CHECK clause
|
CHECK clause
|
||||||
</title>
|
</title>
|
||||||
@ -1709,9 +1606,6 @@ ALTER DOMAIN cities
|
|||||||
</refsect3>
|
</refsect3>
|
||||||
|
|
||||||
<refsect3 id="R3-SQL-PRIMARYKEY-1">
|
<refsect3 id="R3-SQL-PRIMARYKEY-1">
|
||||||
<refsect3info>
|
|
||||||
<date>1998-09-11</date>
|
|
||||||
</refsect3info>
|
|
||||||
<title>
|
<title>
|
||||||
PRIMARY KEY clause
|
PRIMARY KEY clause
|
||||||
</title>
|
</title>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.8 1999/07/22 15:09:08 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.9 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Postgres documentation
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<refsynopsisdivinfo>
|
<refsynopsisdivinfo>
|
||||||
<date>1999-07-20</date>
|
<date>2000-03-25</date>
|
||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTER } { <replaceable class="PARAMETER">event</replaceable> [OR ...] }
|
CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTER } { <replaceable class="PARAMETER">event</replaceable> [OR ...] }
|
||||||
@ -152,7 +152,7 @@ CREATE
|
|||||||
Only the relation owner may create a trigger on this relation.
|
Only the relation owner may create a trigger on this relation.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
As of the current release (v6.4), STATEMENT triggers are not implemented.
|
As of the current release (v7.0), STATEMENT triggers are not implemented.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Refer to <command>DROP TRIGGER</command> for information on how to
|
Refer to <command>DROP TRIGGER</command> for information on how to
|
||||||
@ -217,11 +217,6 @@ CREATE TABLE distributors (
|
|||||||
);
|
);
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
However, foreign keys are not yet implemented (as of version 6.5) in
|
|
||||||
<productname>Postgres</productname>.
|
|
||||||
</para>
|
|
||||||
</refsect2>
|
</refsect2>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
</refentry>
|
</refentry>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.11 1999/08/06 13:50:30 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.12 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -289,8 +289,8 @@ CREATE
|
|||||||
A "regular" Postgres type can only be 8192 bytes in
|
A "regular" Postgres type can only be 8192 bytes in
|
||||||
length. If you need a larger type you must create a Large
|
length. If you need a larger type you must create a Large
|
||||||
Object type. The interface for these types is discussed
|
Object type. The interface for these types is discussed
|
||||||
at length in
|
at length in the
|
||||||
<citetitle>The PostgreSQL Programmer's Guide</citetitle>.
|
<citetitle>PostgreSQL Programmer's Guide</citetitle>.
|
||||||
The length of all large object types is always VARIABLE.
|
The length of all large object types is always VARIABLE.
|
||||||
</para>
|
</para>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.13 2000/01/14 22:11:32 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.14 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ CREATE USER <replaceable class="PARAMETER">username</replaceable>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>SYSID</literal> clause can be used to choose
|
The <literal>SYSID</literal> clause can be used to choose
|
||||||
the <productname>PostgreSQL</productname> user id of the user
|
the <productname>Postgres</productname> user id of the user
|
||||||
that is being created. It is not at all necessary that those
|
that is being created. It is not at all necessary that those
|
||||||
match the <acronym>UNIX</acronym> user ids, but some people
|
match the <acronym>UNIX</acronym> user ids, but some people
|
||||||
choose to keep the numbers the same.
|
choose to keep the numbers the same.
|
||||||
@ -164,7 +164,7 @@ CREATE USER <replaceable class="PARAMETER">username</replaceable>
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
CREATE USER will add a new user to an instance of
|
CREATE USER will add a new user to an instance of
|
||||||
<productname>PostgreSQL</productname>. Refer to the adminstrator's
|
<productname>Postgres</productname>. Refer to the adminstrator's
|
||||||
guide for information about managing users and authentication.
|
guide for information about managing users and authentication.
|
||||||
You must be a database superuser to use this command.
|
You must be a database superuser to use this command.
|
||||||
</para>
|
</para>
|
||||||
@ -173,7 +173,7 @@ CREATE USER <replaceable class="PARAMETER">username</replaceable>
|
|||||||
to change a user's password and privileges, and <xref linkend="SQL-DROPUSER"
|
to change a user's password and privileges, and <xref linkend="SQL-DROPUSER"
|
||||||
endterm="SQL-DROPUSER-title"> to remove a user.
|
endterm="SQL-DROPUSER-title"> to remove a user.
|
||||||
Use <command>ALTER GROUP</command> to add or remove the user from other groups.
|
Use <command>ALTER GROUP</command> to add or remove the user from other groups.
|
||||||
<productname>PostgreSQL</productname>
|
<productname>Postgres</productname>
|
||||||
comes with a script <xref linkend="APP-CREATEUSER"
|
comes with a script <xref linkend="APP-CREATEUSER"
|
||||||
endterm="APP-CREATEUSER-title">
|
endterm="APP-CREATEUSER-title">
|
||||||
which has the same functionality as this command (in fact, it calls this command)
|
which has the same functionality as this command (in fact, it calls this command)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_view.sgml,v 1.8 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_view.sgml,v 1.9 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Postgres documentation
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<refsynopsisdivinfo>
|
<refsynopsisdivinfo>
|
||||||
<date>1999-07-20</date>
|
<date>2000-03-25</date>
|
||||||
</refsynopsisdivinfo>
|
</refsynopsisdivinfo>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
CREATE VIEW <replaceable class="PARAMETER">view</replaceable> AS SELECT <replaceable class="PARAMETER">query</replaceable>
|
CREATE VIEW <replaceable class="PARAMETER">view</replaceable> AS SELECT <replaceable class="PARAMETER">query</replaceable>
|
||||||
@ -28,7 +28,7 @@ CREATE VIEW <replaceable class="PARAMETER">view</replaceable> AS SELECT <replace
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEVIEW-1">
|
<refsect2 id="R2-SQL-CREATEVIEW-1">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-21</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Inputs
|
Inputs
|
||||||
@ -62,7 +62,7 @@ CREATE VIEW <replaceable class="PARAMETER">view</replaceable> AS SELECT <replace
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEVIEW-2">
|
<refsect2 id="R2-SQL-CREATEVIEW-2">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-21</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Outputs
|
Outputs
|
||||||
@ -97,13 +97,15 @@ NOTICE create: attribute named "<replaceable class="parameter">column</replaceab
|
|||||||
<para>
|
<para>
|
||||||
The view will be created having a column with an unknown type
|
The view will be created having a column with an unknown type
|
||||||
if you do not specify it. For example, the following command gives
|
if you do not specify it. For example, the following command gives
|
||||||
an error:
|
a warning:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
CREATE VIEW vista AS SELECT 'Hello World'
|
CREATE VIEW vista AS SELECT 'Hello World'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
whereas this command does not:
|
whereas this command does not:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
CREATE VIEW vista AS SELECT 'Hello World'::text
|
CREATE VIEW vista AS SELECT text 'Hello World'
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -115,7 +117,7 @@ CREATE VIEW vista AS SELECT 'Hello World'::text
|
|||||||
|
|
||||||
<refsect1 id="R1-SQL-CREATEVIEW-1">
|
<refsect1 id="R1-SQL-CREATEVIEW-1">
|
||||||
<refsect1info>
|
<refsect1info>
|
||||||
<date>1998-09-21</date>
|
<date>2000-03-25</date>
|
||||||
</refsect1info>
|
</refsect1info>
|
||||||
<title>
|
<title>
|
||||||
Description
|
Description
|
||||||
@ -129,7 +131,7 @@ CREATE VIEW vista AS SELECT 'Hello World'::text
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEVIEW-3">
|
<refsect2 id="R2-SQL-CREATEVIEW-3">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-21</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
Notes
|
Notes
|
||||||
@ -176,7 +178,7 @@ SELECT * FROM kinds;
|
|||||||
|
|
||||||
<refsect2 id="R2-SQL-CREATEVIEW-5">
|
<refsect2 id="R2-SQL-CREATEVIEW-5">
|
||||||
<refsect2info>
|
<refsect2info>
|
||||||
<date>1998-09-21</date>
|
<date>2000-03-25</date>
|
||||||
</refsect2info>
|
</refsect2info>
|
||||||
<title>
|
<title>
|
||||||
SQL92
|
SQL92
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.9 2000/02/10 20:08:55 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.10 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>createdb</application>
|
<application>createdb</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Create a new <productname>PostgreSQL</productname> database
|
Create a new <productname>Postgres</productname> database
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -120,7 +120,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the name of the database to be created. The name must be
|
Specifies the name of the database to be created. The name must be
|
||||||
unique among all <productname>PostgreSQL</productname> databases in this installation.
|
unique among all <productname>Postgres</productname> databases in this installation.
|
||||||
The default is to create a database with the same name as the
|
The default is to create a database with the same name as the
|
||||||
current system user.
|
current system user.
|
||||||
</para>
|
</para>
|
||||||
@ -196,7 +196,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
|
|||||||
Description
|
Description
|
||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>createdb</application> creates a new <productname>PostgreSQL</productname>
|
<application>createdb</application> creates a new <productname>Postgres</productname>
|
||||||
database. The user who executes this command becomes the database owner.
|
database. The user who executes this command becomes the database owner.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ createdb [ <replaceable class="parameter">options</replaceable> ] <replaceable c
|
|||||||
<application>createdb</application> is a shell script wrapper around the
|
<application>createdb</application> is a shell script wrapper around the
|
||||||
<acronym>SQL</acronym> command
|
<acronym>SQL</acronym> command
|
||||||
<xref linkend="SQL-CREATEDATABASE" endterm="SQL-CREATEDATABASE-title"> via
|
<xref linkend="SQL-CREATEDATABASE" endterm="SQL-CREATEDATABASE-title"> via
|
||||||
the <productname>PostgreSQL</productname> interactive terminal
|
the <productname>Postgres</productname> interactive terminal
|
||||||
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
||||||
special about creating databases via this or other methods. This means
|
special about creating databases via this or other methods. This means
|
||||||
that the <application>psql</application> must be found by the script and that
|
that the <application>psql</application> must be found by the script and that
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.4 2000/01/19 20:08:22 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.5 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>createlang</application>
|
<application>createlang</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Add a new programming language to a <productname>PostgreSQL</productname> database
|
Add a new programming language to a <productname>Postgres</productname> database
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -145,7 +145,7 @@ createlang [ <replaceable class="parameter">connection options</replaceable> ] -
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>createlang</application> is a utility for adding a new
|
<application>createlang</application> is a utility for adding a new
|
||||||
programming language to a <productname>PostgreSQL</productname> database.
|
programming language to a <productname>Postgres</productname> database.
|
||||||
<application>createlang</application> currently accepts two
|
<application>createlang</application> currently accepts two
|
||||||
languages, <literal>plsql</literal> and <literal>pltcl</literal>.
|
languages, <literal>plsql</literal> and <literal>pltcl</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.8 2000/01/12 19:36:34 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.9 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>createuser</application>
|
<application>createuser</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Create a new <productname>PostgreSQL</productname> user
|
Create a new <productname>Postgres</productname> user
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -139,8 +139,8 @@ createuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceab
|
|||||||
<term><replaceable class="parameter">username</replaceable></term>
|
<term><replaceable class="parameter">username</replaceable></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the name of the <productname>PostgreSQL</productname> user to be created.
|
Specifies the name of the <productname>Postgres</productname> user to be created.
|
||||||
This name must be unique among all <productname>PostgreSQL</productname> users.
|
This name must be unique among all <productname>Postgres</productname> users.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -203,7 +203,7 @@ createuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceab
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>createuser</application> creates a
|
<application>createuser</application> creates a
|
||||||
new <productname>PostgreSQL</productname> user.
|
new <productname>Postgres</productname> user.
|
||||||
Only users with <literal>usesuper</literal> set in
|
Only users with <literal>usesuper</literal> set in
|
||||||
the <literal>pg_shadow</literal> class can create
|
the <literal>pg_shadow</literal> class can create
|
||||||
new <productname>Postgres</productname> users.
|
new <productname>Postgres</productname> users.
|
||||||
@ -213,7 +213,7 @@ createuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceab
|
|||||||
<application>createuser</application> is a shell script wrapper around the
|
<application>createuser</application> is a shell script wrapper around the
|
||||||
<acronym>SQL</acronym> command
|
<acronym>SQL</acronym> command
|
||||||
<xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title"> via
|
<xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title"> via
|
||||||
the <productname>PostgreSQL</productname> interactive terminal
|
the <productname>Postgres</productname> interactive terminal
|
||||||
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
||||||
special about creating users via this or other methods. This means
|
special about creating users via this or other methods. This means
|
||||||
that the <application>psql</application> must be found by the script and that
|
that the <application>psql</application> must be found by the script and that
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_user.sgml,v 1.10 2000/01/14 22:11:32 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_user.sgml,v 1.11 2000/03/27 17:14:42 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ DROP USER: user "<replaceable class="parameter">name</replaceable>" owns databas
|
|||||||
Use <xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title">
|
Use <xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title">
|
||||||
to add new users, and <xref linkend="SQL-ALTERUSER"
|
to add new users, and <xref linkend="SQL-ALTERUSER"
|
||||||
endterm="SQL-ALTERUSER-title"> to change a user's properties.
|
endterm="SQL-ALTERUSER-title"> to change a user's properties.
|
||||||
<productname>PostgreSQL</productname>
|
<productname>Postgres</productname>
|
||||||
comes with a script <xref linkend="APP-DROPUSER"
|
comes with a script <xref linkend="APP-DROPUSER"
|
||||||
endterm="APP-DROPUSER-title">
|
endterm="APP-DROPUSER-title">
|
||||||
which has the same functionality as this command (in fact, it calls this command)
|
which has the same functionality as this command (in fact, it calls this command)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.2 1999/12/07 22:41:41 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.3 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>dropdb</application>
|
<application>dropdb</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Remove an existing <productname>PostgreSQL</productname> database
|
Remove an existing <productname>Postgres</productname> database
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -109,7 +109,7 @@ dropdb [ <replaceable class="parameter">options</replaceable> ] <replaceable cla
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the name of the database to be removed. The database
|
Specifies the name of the database to be removed. The database
|
||||||
must be one of the existing <productname>PostgreSQL</productname> databases
|
must be one of the existing <productname>Postgres</productname> databases
|
||||||
in this installation.
|
in this installation.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -165,7 +165,7 @@ dropdb [ <replaceable class="parameter">options</replaceable> ] <replaceable cla
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>dropdb</application> destroys an existing
|
<application>dropdb</application> destroys an existing
|
||||||
<productname>PostgreSQL</productname> database.
|
<productname>Postgres</productname> database.
|
||||||
The user who executes this command must be a database
|
The user who executes this command must be a database
|
||||||
superuser or the owner of the database.
|
superuser or the owner of the database.
|
||||||
</para>
|
</para>
|
||||||
@ -174,7 +174,7 @@ dropdb [ <replaceable class="parameter">options</replaceable> ] <replaceable cla
|
|||||||
<application>dropdb</application> is a shell script wrapper around the
|
<application>dropdb</application> is a shell script wrapper around the
|
||||||
<acronym>SQL</acronym> command
|
<acronym>SQL</acronym> command
|
||||||
<xref linkend="SQL-DROPDATABASE" endterm="SQL-DROPDATABASE-title"> via
|
<xref linkend="SQL-DROPDATABASE" endterm="SQL-DROPDATABASE-title"> via
|
||||||
the <productname>PostgreSQL</productname> interactive terminal
|
the <productname>Postgres</productname> interactive terminal
|
||||||
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
||||||
special about dropping databases via this or other methods. This means
|
special about dropping databases via this or other methods. This means
|
||||||
that the <application>psql</application> must be found by the script and that
|
that the <application>psql</application> must be found by the script and that
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.2 2000/01/19 20:08:22 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.3 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>droplang</application>
|
<application>droplang</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Remove a programming language from a <productname>PostgreSQL</productname> database
|
Remove a programming language from a <productname>Postgres</productname> database
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -146,7 +146,7 @@ droplang [ <replaceable class="parameter">connection options</replaceable> ] --l
|
|||||||
<para>
|
<para>
|
||||||
<application>droplang</application> is a utility for removing an
|
<application>droplang</application> is a utility for removing an
|
||||||
existing programming language from a
|
existing programming language from a
|
||||||
<productname>PostgreSQL</productname> database.
|
<productname>Postgres</productname> database.
|
||||||
<application>droplang</application> currently accepts two
|
<application>droplang</application> currently accepts two
|
||||||
languages, <literal>plsql</literal> and <literal>pltcl</literal>.
|
languages, <literal>plsql</literal> and <literal>pltcl</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.3 2000/01/12 19:36:34 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.4 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ dropuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceable
|
|||||||
<term><replaceable class="parameter">username</replaceable></term>
|
<term><replaceable class="parameter">username</replaceable></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies the name of the <productname>PostgreSQL</productname> user to be removed.
|
Specifies the name of the <productname>Postgres</productname> user to be removed.
|
||||||
This name must exist in the <productname>Postgres</productname> installation.
|
This name must exist in the <productname>Postgres</productname> installation.
|
||||||
You will be prompted for a name if none is specified on the command line.
|
You will be prompted for a name if none is specified on the command line.
|
||||||
</para>
|
</para>
|
||||||
@ -153,18 +153,18 @@ dropuser [ <replaceable class="parameter">options</replaceable> ] [ <replaceable
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>dropuser</application> removes an existing
|
<application>dropuser</application> removes an existing
|
||||||
<productname>PostgreSQL</productname> user
|
<productname>Postgres</productname> user
|
||||||
<emphasis>and</emphasis> the databases which that user owned.
|
<emphasis>and</emphasis> the databases which that user owned.
|
||||||
Only users with <literal>usesuper</literal> set in
|
Only users with <literal>usesuper</literal> set in
|
||||||
the <literal>pg_shadow</literal> class can destroy
|
the <literal>pg_shadow</literal> class can destroy
|
||||||
<productname>PostgreSQL</productname> users.
|
<productname>Postgres</productname> users.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>dropuser</application> is a shell script wrapper around the
|
<application>dropuser</application> is a shell script wrapper around the
|
||||||
<acronym>SQL</acronym> command
|
<acronym>SQL</acronym> command
|
||||||
<xref linkend="SQL-DROPUSER" endterm="SQL-DROPUSER-title"> via
|
<xref linkend="SQL-DROPUSER" endterm="SQL-DROPUSER-title"> via
|
||||||
the <productname>PostgreSQL</productname> interactive terminal
|
the <productname>Postgres</productname> interactive terminal
|
||||||
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. Thus, there is nothing
|
||||||
special about removing users via this or other methods. This means
|
special about removing users via this or other methods. This means
|
||||||
that the <application>psql</application> must be found by the script and that
|
that the <application>psql</application> must be found by the script and that
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/end.sgml,v 1.2 2000/01/29 16:58:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/end.sgml,v 1.3 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -94,8 +94,8 @@ NOTICE: COMMIT: no transaction in progress
|
|||||||
</title>
|
</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<command>END</command> is a <productname>PostgreSQL</productname>
|
<command>END</command> is a <productname>Postgres</productname>
|
||||||
synonym for
|
extension, and is a synonym for the SQL92-compatible
|
||||||
<xref linkend="sql-commit-title" endterm="sql-commit-title">.
|
<xref linkend="sql-commit-title" endterm="sql-commit-title">.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.9 2000/01/20 21:50:54 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.10 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>initdb</application>
|
<application>initdb</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Create a new <productname>PostgreSQL</productname> database installation
|
Create a new <productname>Postgres</productname> database installation
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -129,7 +129,7 @@ initdb [ --pgdata|-D <replaceable class="parameter">dbdir</replaceable> ]
|
|||||||
database in an existing database system, and don't touch anything else.
|
database in an existing database system, and don't touch anything else.
|
||||||
This is useful when you need to upgrade your <literal>template1</literal>
|
This is useful when you need to upgrade your <literal>template1</literal>
|
||||||
database using <application>initdb</application>
|
database using <application>initdb</application>
|
||||||
from a newer release of <productname>PostgreSQL</productname>,
|
from a newer release of <productname>Postgres</productname>,
|
||||||
or when your <literal>template1</literal>
|
or when your <literal>template1</literal>
|
||||||
database has become corrupted by some system problem. Normally the
|
database has become corrupted by some system problem. Normally the
|
||||||
contents of <literal>template1</literal>
|
contents of <literal>template1</literal>
|
||||||
@ -199,7 +199,7 @@ initdb [ --pgdata|-D <replaceable class="parameter">dbdir</replaceable> ]
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>initdb</application> creates a new
|
<application>initdb</application> creates a new
|
||||||
<productname>PostgreSQL</productname> database system.
|
<productname>Postgres</productname> database system.
|
||||||
A database system is a
|
A database system is a
|
||||||
collection of databases that are all administered by the same Unix user
|
collection of databases that are all administered by the same Unix user
|
||||||
and managed by a single postmaster.
|
and managed by a single postmaster.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.6 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.7 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>initlocation</application>
|
<application>initlocation</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Create a secondary <productname>PostgreSQL</productname> database storage area
|
Create a secondary <productname>Postgres</productname> database storage area
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -72,7 +72,7 @@ initlocation <replaceable class="parameter">directory</replaceable>
|
|||||||
</title>
|
</title>
|
||||||
<para>
|
<para>
|
||||||
<application>initlocation</application>
|
<application>initlocation</application>
|
||||||
creates a new <productname>PostgreSQL</productname> secondary database storage area.
|
creates a new <productname>Postgres</productname> secondary database storage area.
|
||||||
See the discussion under <xref linkend="SQL-CREATEDATABASE" endterm="SQL-CREATEDATABASE-title">
|
See the discussion under <xref linkend="SQL-CREATEDATABASE" endterm="SQL-CREATEDATABASE-title">
|
||||||
about how to manage and use secondary storage areas. If the argument does not contain
|
about how to manage and use secondary storage areas. If the argument does not contain
|
||||||
a slash and is not valid as a path, it is assumed to be an environment variable,
|
a slash and is not valid as a path, it is assumed to be an environment variable,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.6 1999/07/22 15:09:12 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.7 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -193,8 +193,8 @@ INSERT INTO films SELECT * FROM tmp;
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Insert into arrays (refer to
|
Insert into arrays (refer to the
|
||||||
<citetitle>The PostgreSQL User's Guide</citetitle> for further
|
<citetitle>PostgreSQL User's Guide</citetitle> for further
|
||||||
information about arrays):
|
information about arrays):
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.14 2000/01/24 19:34:13 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.15 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -99,7 +99,8 @@ pg_dump [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceab
|
|||||||
Suppress double quotes around identifiers unless absolutely necessary.
|
Suppress double quotes around identifiers unless absolutely necessary.
|
||||||
This may cause trouble loading this dumped data if there are reserved words
|
This may cause trouble loading this dumped data if there are reserved words
|
||||||
used for identifiers.
|
used for identifiers.
|
||||||
This was the default behavior in pre-v6.4 <application>pg_dump</application>.
|
This was the default behavior for
|
||||||
|
<application>pg_dump</application> prior to v6.4.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.8 1999/09/28 15:59:10 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.9 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ pg_upgrade [ -f <replaceable class="parameter">filename</replaceable> ] <replace
|
|||||||
<para>
|
<para>
|
||||||
<application>pg_upgrade</application>
|
<application>pg_upgrade</application>
|
||||||
is a utility for upgrading from a previous
|
is a utility for upgrading from a previous
|
||||||
PostgreSQL release without reloading all the data.
|
Postgres release without reloading all the data.
|
||||||
Not all <productname>Postgres</productname> release transitions can be
|
Not all <productname>Postgres</productname> release transitions can be
|
||||||
handled this way. Check the release notes for details on your installation.
|
handled this way. Check the release notes for details on your installation.
|
||||||
</para>
|
</para>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgadmin-ref.sgml,v 1.5 2000/02/02 16:19:54 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgadmin-ref.sgml,v 1.6 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ pgadmin [ <replaceable class="parameter">datasourcename</replaceable> [ <replace
|
|||||||
<term><replaceable class="PARAMETER">datasourcename</replaceable></term>
|
<term><replaceable class="PARAMETER">datasourcename</replaceable></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The name of an existing PostgreSQL ODBC System or User Data
|
The name of an existing <productname>Postgres</productname> ODBC System or User Data
|
||||||
Source.
|
Source.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.6 1999/08/06 13:50:31 thomas Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.7 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ postgres [ -B <replaceable class="parameter">nBuffers</replaceable> ] [ -C ] [ -
|
|||||||
Dates are accepted by the backend in a wide variety of formats,
|
Dates are accepted by the backend in a wide variety of formats,
|
||||||
and for input dates this switch mostly affects the interpretation
|
and for input dates this switch mostly affects the interpretation
|
||||||
for ambiguous cases.
|
for ambiguous cases.
|
||||||
See <citetitle>The PostgreSQL User's Guide</citetitle>
|
See the <citetitle>PostgreSQL User's Guide</citetitle>
|
||||||
for more information.
|
for more information.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.29 2000/03/21 01:52:12 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.30 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ Postgres documentation
|
|||||||
<application>psql</application>
|
<application>psql</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
<productname>PostgreSQL</productname> interactive terminal
|
<productname>Postgres</productname> interactive terminal
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
@ -36,8 +36,8 @@ Postgres documentation
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>psql</application> is a terminal-based front-end to
|
<application>psql</application> is a terminal-based front-end to
|
||||||
<productname>PostgreSQL</productname>. It enables you to type in queries
|
<productname>Postgres</productname>. It enables you to type in queries
|
||||||
interactively, issue them to <productname>PostgreSQL</productname>, and see
|
interactively, issue them to <productname>Postgres</productname>, and see
|
||||||
the query results. Alternatively, input can be from a file.
|
the query results. Alternatively, input can be from a file.
|
||||||
In addition, it provides a number of meta-commands and
|
In addition, it provides a number of meta-commands and
|
||||||
various shell-like features to facilitate writing scripts and automating a wide
|
various shell-like features to facilitate writing scripts and automating a wide
|
||||||
@ -63,7 +63,7 @@ Postgres documentation
|
|||||||
<title>Connecting To A Database</title>
|
<title>Connecting To A Database</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>psql</application> is a regular <productname>PostgreSQL</productname>
|
<application>psql</application> is a regular <productname>Postgres</productname>
|
||||||
client application. In order to connect to a database you need to know the
|
client application. In order to connect to a database you need to know the
|
||||||
name of your target database, the hostname and port number of the server
|
name of your target database, the hostname and port number of the server
|
||||||
and what user name you want to connect as. <application>psql</application> can be
|
and what user name you want to connect as. <application>psql</application> can be
|
||||||
@ -316,7 +316,7 @@ testdb=>
|
|||||||
<term><literal>\copyright</literal></term>
|
<term><literal>\copyright</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Shows the copyright and distribution terms of <application>PostgreSQL</application>.
|
Shows the copyright and distribution terms of <application>Postgres</application>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -387,7 +387,7 @@ testdb=>
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
<productname>PostgreSQL</productname> stores the object descriptions in the
|
<productname>Postgres</productname> stores the object descriptions in the
|
||||||
pg_description system table.
|
pg_description system table.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@ -637,7 +637,7 @@ Tue Oct 26 21:40:57 CEST 1999
|
|||||||
<para>
|
<para>
|
||||||
List all the databases in the server as well as their owners. Append a
|
List all the databases in the server as well as their owners. Append a
|
||||||
<quote>+</quote> to the command name to see any descriptions
|
<quote>+</quote> to the command name to see any descriptions
|
||||||
for the databases as well. If your <productname>PostgreSQL</productname>
|
for the databases as well. If your <productname>Postgres</productname>
|
||||||
installation was
|
installation was
|
||||||
compiled with multibyte encoding support, the encoding scheme of each
|
compiled with multibyte encoding support, the encoding scheme of each
|
||||||
database is shown as well.
|
database is shown as well.
|
||||||
@ -677,7 +677,7 @@ Tue Oct 26 21:40:57 CEST 1999
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Stores the file into a <productname>PostgreSQL</productname> <quote>large object</quote>.
|
Stores the file into a <productname>Postgres</productname> <quote>large object</quote>.
|
||||||
Optionally, it associates the given comment with the object. Example:
|
Optionally, it associates the given comment with the object. Example:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
foo=> <userinput>\lo_import '/home/peter/pictures/photo.xcf' 'a picture of me'</userinput>
|
foo=> <userinput>\lo_import '/home/peter/pictures/photo.xcf' 'a picture of me'</userinput>
|
||||||
@ -709,7 +709,7 @@ lo_import 152801
|
|||||||
<term><literal>\lo_list</literal></term>
|
<term><literal>\lo_list</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Shows a list of all <productname>PostgreSQL</productname> <quote>large
|
Shows a list of all <productname>Postgres</productname> <quote>large
|
||||||
objects</quote> currently stored in the database along with their owners.
|
objects</quote> currently stored in the database along with their owners.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1674,7 +1674,7 @@ bar
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
When this variable is set and a backslash command queries the database, the query
|
When this variable is set and a backslash command queries the database, the query
|
||||||
is first shown. This way you can study the <productname>PostgreSQL</productname>
|
is first shown. This way you can study the <productname>Postgres</productname>
|
||||||
internals and provide similar functionality in your own programs. If you set the
|
internals and provide similar functionality in your own programs. If you set the
|
||||||
variable to the value <quote>noexec</quote>, the queries are just shown but are
|
variable to the value <quote>noexec</quote>, the queries are just shown but are
|
||||||
not actually sent to the backend and executed.
|
not actually sent to the backend and executed.
|
||||||
@ -1770,7 +1770,7 @@ bar
|
|||||||
<term><envar>LO_TRANSACTION</envar></term>
|
<term><envar>LO_TRANSACTION</envar></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If you use the <productname>PostgreSQL</productname> large object
|
If you use the <productname>Postgres</productname> large object
|
||||||
interface to specially store data that does not fit into one tuple,
|
interface to specially store data that does not fit into one tuple,
|
||||||
all the operations must be contained in a transaction block. (See the
|
all the operations must be contained in a transaction block. (See the
|
||||||
documentation of the large object interface for more information.) Since
|
documentation of the large object interface for more information.) Since
|
||||||
@ -1939,7 +1939,7 @@ testdb=> <userinput>\set content `sed -e "s/'/\\\\\\'/g" < my_file.txt`</userinp
|
|||||||
case you can escape a colon with a backslash to protect it from interpretation.
|
case you can escape a colon with a backslash to protect it from interpretation.
|
||||||
(The colon syntax for variables is standard <acronym>SQL</acronym> for embedded
|
(The colon syntax for variables is standard <acronym>SQL</acronym> for embedded
|
||||||
query languages, such as <application>ecpg</application>. The colon syntax for
|
query languages, such as <application>ecpg</application>. The colon syntax for
|
||||||
array slices and type casts are <productname>PostgreSQL</productname> extensions,
|
array slices and type casts are <productname>Postgres</productname> extensions,
|
||||||
hence the conflict.)
|
hence the conflict.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2111,7 +2111,7 @@ $endif
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you have the readline library installed but <application>psql</application>
|
If you have the readline library installed but <application>psql</application>
|
||||||
does not seem to use it, you must make sure that <productname>PostgreSQL</productname>'s
|
does not seem to use it, you must make sure that <productname>Postgres</productname>'s
|
||||||
top-level <filename>configure</filename> script finds it. <filename>configure</filename>
|
top-level <filename>configure</filename> script finds it. <filename>configure</filename>
|
||||||
needs to find both the library <filename>libreadline.a</filename>
|
needs to find both the library <filename>libreadline.a</filename>
|
||||||
(or a shared library equivalent)
|
(or a shared library equivalent)
|
||||||
@ -2145,7 +2145,7 @@ $ ./configure --with-includes=/opt/gnu/include --with-libs=/opt/gnu/lib ...
|
|||||||
<para>
|
<para>
|
||||||
This section only shows a few examples specific to <application>psql</application>.
|
This section only shows a few examples specific to <application>psql</application>.
|
||||||
If you want to learn <acronym>SQL</acronym> or get familiar with
|
If you want to learn <acronym>SQL</acronym> or get familiar with
|
||||||
<productname>PostgreSQL</productname>, you might wish to read the Tutorial that
|
<productname>Postgres</productname>, you might wish to read the Tutorial that
|
||||||
is included in the distribution.
|
is included in the distribution.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.27 2000/03/26 18:32:27 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.28 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -419,13 +419,15 @@ SELECT title, date_prod + 1 AS newlen FROM films ORDER BY newlen;
|
|||||||
</programlisting></para>
|
</programlisting></para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
From release 6.4 of PostgreSQL, it is also possible to ORDER BY
|
It is also possible to ORDER BY
|
||||||
arbitrary expressions, including fields that do not appear in the
|
arbitrary expressions (an extension to SQL92),
|
||||||
|
including fields that do not appear in the
|
||||||
SELECT result list.
|
SELECT result list.
|
||||||
Thus the following statement is now legal:
|
Thus the following statement is legal:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
SELECT name FROM distributors ORDER BY code;
|
SELECT name FROM distributors ORDER BY code;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
Note that if an ORDER BY item is a simple name that matches both
|
Note that if an ORDER BY item is a simple name that matches both
|
||||||
a result column name and an input column name, ORDER BY will interpret
|
a result column name and an input column name, ORDER BY will interpret
|
||||||
it as the result column name. This is the opposite of the choice that
|
it as the result column name. This is the opposite of the choice that
|
||||||
@ -581,7 +583,7 @@ SELECT name FROM distributors ORDER BY code;
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
As of PostgreSQL 7.0, the
|
As of <productname>Postgres</productname> 7.0, the
|
||||||
query optimizer takes LIMIT into account when generating a query plan,
|
query optimizer takes LIMIT into account when generating a query plan,
|
||||||
so you are very likely to get different plans (yielding different row
|
so you are very likely to get different plans (yielding different row
|
||||||
orders) depending on what you give for LIMIT and OFFSET. Thus, using
|
orders) depending on what you give for LIMIT and OFFSET. Thus, using
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.7 1999/12/18 08:34:49 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.8 2000/03/27 17:14:43 thomas Exp $
|
||||||
Postgres documentation
|
Postgres documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ Postgres documentation
|
|||||||
<application>vacuumdb</application>
|
<application>vacuumdb</application>
|
||||||
</refname>
|
</refname>
|
||||||
<refpurpose>
|
<refpurpose>
|
||||||
Clean and analyze a <productname>PostgreSQL</productname> database
|
Clean and analyze a <productname>Postgres</productname> database
|
||||||
</refpurpose>
|
</refpurpose>
|
||||||
</refnamediv>
|
</refnamediv>
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
@ -210,7 +210,7 @@ vacuumdb [ <replaceable class="parameter">connection options</replaceable> ] [ -
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>vacuumdb</application> is a utility for cleaning a
|
<application>vacuumdb</application> is a utility for cleaning a
|
||||||
<productname>PostgreSQL</productname> database.
|
<productname>Postgres</productname> database.
|
||||||
<application>vacuumdb</application> will also generate internal statistics
|
<application>vacuumdb</application> will also generate internal statistics
|
||||||
used by the <productname>Postgres</productname> query optimizer.
|
used by the <productname>Postgres</productname> query optimizer.
|
||||||
</para>
|
</para>
|
||||||
@ -219,7 +219,7 @@ vacuumdb [ <replaceable class="parameter">connection options</replaceable> ] [ -
|
|||||||
<application>vacuumdb</application> is a shell script wrapper around the
|
<application>vacuumdb</application> is a shell script wrapper around the
|
||||||
backend command
|
backend command
|
||||||
<xref linkend="SQL-VACUUM" endterm="SQL-VACUUM-title"> via
|
<xref linkend="SQL-VACUUM" endterm="SQL-VACUUM-title"> via
|
||||||
the <productname>PostgreSQL</productname> interactive terminal
|
the <productname>Postgres</productname> interactive terminal
|
||||||
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. There is no effective
|
<xref linkend="APP-PSQL" endterm="APP-PSQL-title">. There is no effective
|
||||||
difference between vacuuming databases via this or other methods.
|
difference between vacuuming databases via this or other methods.
|
||||||
<application>psql</application> must be found by the script and
|
<application>psql</application> must be found by the script and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user