Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
cc093bc3
Commit
cc093bc3
authored
Jan 04, 2005
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More minor updates and copy-editing.
parent
248d92dd
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
322 additions
and
274 deletions
+322
-274
doc/src/sgml/ref/ipcclean.sgml
doc/src/sgml/ref/ipcclean.sgml
+5
-4
doc/src/sgml/ref/pg_config-ref.sgml
doc/src/sgml/ref/pg_config-ref.sgml
+2
-2
doc/src/sgml/ref/pg_dump.sgml
doc/src/sgml/ref/pg_dump.sgml
+86
-79
doc/src/sgml/ref/pg_dumpall.sgml
doc/src/sgml/ref/pg_dumpall.sgml
+56
-50
doc/src/sgml/ref/pg_restore.sgml
doc/src/sgml/ref/pg_restore.sgml
+47
-46
doc/src/sgml/ref/psql-ref.sgml
doc/src/sgml/ref/psql-ref.sgml
+33
-29
doc/src/sgml/ref/select.sgml
doc/src/sgml/ref/select.sgml
+57
-45
doc/src/sgml/ref/select_into.sgml
doc/src/sgml/ref/select_into.sgml
+3
-7
doc/src/sgml/ref/show.sgml
doc/src/sgml/ref/show.sgml
+12
-11
doc/src/sgml/ref/update.sgml
doc/src/sgml/ref/update.sgml
+21
-1
No files found.
doc/src/sgml/ref/ipcclean.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/ipcclean.sgml,v 1.1
0 2003/11/29 19:51:39 pgsq
l Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/ipcclean.sgml,v 1.1
1 2005/01/04 03:58:16 tg
l Exp $
PostgreSQL documentation
-->
...
...
@@ -12,7 +12,7 @@ PostgreSQL documentation
<refnamediv>
<refname>ipcclean</refname>
<refpurpose>remove shared memory and semaphores from a
n abort
ed <productname>PostgreSQL</productname> server</refpurpose>
<refpurpose>remove shared memory and semaphores from a
fail
ed <productname>PostgreSQL</productname> server</refpurpose>
</refnamediv>
<indexterm zone="app-ipcclean">
...
...
@@ -59,10 +59,11 @@ PostgreSQL documentation
</para>
<para>
The script makes assumption
about the format of outpu
t of the
The script makes assumption
s about the output forma
t of the
<command>ipcs</command>
utility which may not be true across different operating systems.
Therefore, it may not work on your particular OS.
Therefore, it may not work on your particular OS. It's wise to
look at the script before trying it.
</para>
</refsect1>
...
...
doc/src/sgml/ref/pg_config-ref.sgml
View file @
cc093bc3
<
!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.1
8 2004/08/02 12:34:14 momjian
Exp $ -->
<
!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.1
9 2005/01/04 03:58:16 tgl
Exp $ -->
<
refentry
id
=
"app-pgconfig"
>
<
refmeta
>
...
...
@@ -153,7 +153,7 @@
</
para
>
<
para
>
In
releases
prior
to
<
productname
>
PostgreSQL
</>
7.1
,
before
the
In
releases
prior
to
<
productname
>
PostgreSQL
</>
7.1
,
before
<
command
>
pg_config
</
command
>
came
to
be
,
a
method
for
finding
the
equivalent
configuration
information
did
not
exist
.
</
para
>
...
...
doc/src/sgml/ref/pg_dump.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.7
4 2004/10/21 22:48:54
tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.7
5 2005/01/04 03:58:16
tgl Exp $
PostgreSQL documentation
-->
...
...
@@ -45,21 +45,24 @@ PostgreSQL documentation
</para>
<para>
Dumps can be output in script or archive file formats.
The s
cript
files are in plain-text format and contain
the SQL commands required
Dumps can be output in script or archive file formats.
S
cript
dumps are plain-text files containing
the SQL commands required
to reconstruct the database to the state it was in at the time it was
saved. To restore these scripts, use <xref linkend="app-psql">. They
saved. To restore from such a script, feed it to <xref
linkend="app-psql">. Script files
can be used to reconstruct the database even on other machines and
other architectures
,
with some modifications even on other SQL
other architectures
;
with some modifications even on other SQL
database products.
</para>
<para>
The alternative archive file formats
that are meant to
be used with
<xref linkend="app-pgrestore"> to rebuild the database
, and they also
The alternative archive file formats
must
be used with
<xref linkend="app-pgrestore"> to rebuild the database
. They
allow <application>pg_restore</application> to be selective about
what is restored, or even to reorder the items prior to being
restored. The archive files are also designed to be portable across
restored. The archive formats also allow saving and restoring
<quote>large objects</>, which is not possible in a script dump.
The archive files are also designed to be portable across
architectures.
</para>
...
...
@@ -76,7 +79,7 @@ PostgreSQL documentation
by default. The <application>tar</application> format
(<option>-Ft</option>) is not compressed and it is not possible to
reorder data when loading, but it is otherwise quite flexible;
moreover, it can be manipulated with
other
tools such as
moreover, it can be manipulated with
standard Unix
tools such as
<command>tar</command>.
</para>
...
...
@@ -92,7 +95,8 @@ PostgreSQL documentation
<title>Options</title>
<para>
The following command-line options are used to control the output format.
The following command-line options control the content and
format of the output.
<variablelist>
<varlistentry>
...
...
@@ -112,12 +116,12 @@ PostgreSQL documentation
<term><option>--data-only</></term>
<listitem>
<para>
Dump only the data, not the object definitions (schema)
Dump only the data, not the schema (data definitions).
</para>
<para>
This option is only meaningful for the plain-text format. For
the
other
formats, you may specify the option when you
the
archive
formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
</listitem>
...
...
@@ -128,7 +132,8 @@ PostgreSQL documentation
<term><option>--blobs</></term>
<listitem>
<para>
Include large objects in dump.
Include large objects in the dump. A non-text output format
must be selected.
</para>
</listitem>
</varlistentry>
...
...
@@ -144,7 +149,7 @@ PostgreSQL documentation
<para>
This option is only meaningful for the plain-text format. For
the
other
formats, you may specify the option when you
the
archive
formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
</listitem>
...
...
@@ -163,7 +168,7 @@ PostgreSQL documentation
<para>
This option is only meaningful for the plain-text format. For
the
other
formats, you may specify the option when you
the
archive
formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
</listitem>
...
...
@@ -308,8 +313,9 @@ PostgreSQL documentation
<term><option>--oids</></term>
<listitem>
<para>
Dump object identifiers (<acronym>OID</acronym>s) for every
table. Use this option if your application references the <acronym>OID</>
Dump object identifiers (<acronym>OID</acronym>s) as part of the
data for every table. Use this option if your application references
the <acronym>OID</>
columns in some way (e.g., in a foreign key constraint).
Otherwise, this option should not be used.
</para>
...
...
@@ -324,6 +330,7 @@ PostgreSQL documentation
Do not output commands to set
ownership of objects to match the original database.
By default, <application>pg_dump</application> issues
<command>ALTER OWNER</> or
<command>SET SESSION AUTHORIZATION</command>
statements to set ownership of created database objects.
These statements
...
...
@@ -335,7 +342,7 @@ PostgreSQL documentation
<para>
This option is only meaningful for the plain-text format. For
the
other
formats, you may specify the option when you
the
archive
formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
</listitem>
...
...
@@ -456,7 +463,7 @@ PostgreSQL documentation
<para>
This option is only meaningful for the plain-text format. For
the
other
formats, you may specify the option when you
the
archive
formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
</listitem>
...
...
@@ -619,7 +626,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
<para>
Members of tar archives are limited to a size less than 8 GB.
(This is an inherent limitation of the tar file format.) Therefore
this format cannot be used if the textual representation of a table
this format cannot be used if the textual representation of a
ny one
table
exceeds that size. The total size of a tar archive and any of the
other output formats is not limited, except possibly by the
operating system.
...
...
doc/src/sgml/ref/pg_dumpall.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.4
6 2004/07/19 21:39:46 momjian
Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.4
7 2005/01/04 03:58:16 tgl
Exp $
PostgreSQL documentation
-->
...
...
@@ -68,7 +68,8 @@ PostgreSQL documentation
<para>
<application>pg_dumpall</application> needs to connect several
times to the <productname>PostgreSQL</productname> server and might be asking for
times to the <productname>PostgreSQL</productname> server (once per
database). If you use password authentication it is likely to ask for
a password each time. It is convenient to have a
<filename>$HOME/.pgpass</> file in such cases.
</para>
...
...
@@ -79,7 +80,7 @@ PostgreSQL documentation
<title>Options</title>
<para>
The following command-line options
are used to
control the content and
The following command-line options control the content and
format of the output.
<variablelist>
...
...
@@ -110,9 +111,11 @@ PostgreSQL documentation
<listitem>
<para>
Dump data as <command>INSERT</command> commands (rather
than <command>COPY</command>). This will make restoration very
slow, but it makes the output more portable to other SQL database
management systems.
than <command>COPY</command>). This will make restoration very slow;
it is mainly useful for making dumps that can be loaded into
non-<productname>PostgreSQL</productname> databases. Note that
the restore may fail altogether if you have rearranged column order.
The <option>-D</option> option is safer, though even slower.
</para>
</listitem>
</varlistentry>
...
...
@@ -127,8 +130,9 @@ PostgreSQL documentation
column names (<literal>INSERT INTO
<replaceable>table</replaceable>
(<replaceable>column</replaceable>, ...) VALUES
...</literal>). This will make restoration very slow,
but it is necessary if you desire to rearrange column ordering.
...</literal>). This will make restoration very slow; it is mainly
useful for making dumps that can be loaded into
non-<productname>PostgreSQL</productname> databases.
</para>
</listitem>
</varlistentry>
...
...
@@ -168,8 +172,9 @@ PostgreSQL documentation
<term><option>--oids</></term>
<listitem>
<para>
Dump object identifiers (<acronym>OID</acronym>s) for every
table. Use this option if your application references the OID
Dump object identifiers (<acronym>OID</acronym>s) as part of the
data for every table. Use this option if your application references
the <acronym>OID</>
columns in some way (e.g., in a foreign key constraint).
Otherwise, this option should not be used.
</para>
...
...
@@ -184,6 +189,7 @@ PostgreSQL documentation
Do not output commands to set
ownership of objects to match the original database.
By default, <application>pg_dumpall</application> issues
<command>ALTER OWNER</> or
<command>SET SESSION AUTHORIZATION</command>
statements to set ownership of created schema elements.
These statements
...
...
@@ -200,7 +206,7 @@ PostgreSQL documentation
<term><option>--schema-only</option></term>
<listitem>
<para>
Dump only the schema (data definitions), no
data.
Dump only the object definitions (schema), not
data.
</para>
</listitem>
</varlistentry>
...
...
doc/src/sgml/ref/pg_restore.sgml
View file @
cc093bc3
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.4
8 2004/08/20 04:20:22 momjian
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.4
9 2005/01/04 03:58:16 tgl
Exp $ -->
<refentry id="APP-PGRESTORE">
<refmeta>
...
...
@@ -247,6 +247,7 @@
Do not output commands to set
ownership of objects to match the original database.
By default, <application>pg_restore</application> issues
<command>ALTER OWNER</> or
<command>SET SESSION AUTHORIZATION</command>
statements to set ownership of created schema elements.
These statements will fail unless the initial connection to the
...
...
doc/src/sgml/ref/psql-ref.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.12
6 2004/12/28 23:17:38
tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.12
7 2005/01/04 03:58:16
tgl Exp $
PostgreSQL documentation
-->
...
...
@@ -53,7 +53,7 @@ PostgreSQL documentation
<term><option>--echo-all</></term>
<listitem>
<para>
Print all
the lines to the screen
as they are read. This is more
Print all
input lines to standard output
as they are read. This is more
useful for script processing rather than interactive mode. This is
equivalent to setting the variable <varname>ECHO</varname> to
<literal>all</literal>.
...
...
@@ -85,7 +85,7 @@ PostgreSQL documentation
<replaceable class="parameter">command</replaceable> must be either
a command string that is completely parsable by the server (i.e.,
it contains no <application>psql</application> specific features),
or
it is
a single backslash command. Thus you cannot mix
or a single backslash command. Thus you cannot mix
<acronym>SQL</acronym> and <application>psql</application>
meta-commands. To achieve that, you could pipe the string into
<application>psql</application>, like this: <literal>echo "\x \\
...
...
@@ -119,7 +119,8 @@ PostgreSQL documentation
<term><option>--echo-queries</></term>
<listitem>
<para>
Show all commands that are sent to the server. This is equivalent
Copy all SQL commands sent to the server to standard output as well.
This is equivalent
to setting the variable <varname>ECHO</varname> to
<literal>queries</literal>.
</para>
...
...
@@ -132,8 +133,8 @@ PostgreSQL documentation
<listitem>
<para>
Echo the actual queries generated by <command>\d</command> and other backslash
commands. You can use this
if you wish to include similar
functionality into your own program
s. This is equivalent to
commands. You can use this
to study <application>psql</application>'s
internal operation
s. This is equivalent to
setting the variable <varname>ECHO_HIDDEN</varname> from within
<application>psql</application>.
</para>
...
...
@@ -214,7 +215,7 @@ PostgreSQL documentation
<term><option>--list</></term>
<listitem>
<para>
List all available databases, then exit
s
. Other non-connection
List all available databases, then exit. Other non-connection
options are ignored. This is similar to the internal command
<command>\list</command>.
</para>
...
...
@@ -326,8 +327,7 @@ PostgreSQL documentation
<listitem>
<para>
Turn off printing of column names and result row count footers,
etc. It is completely equivalent to the <command>\t</command>
meta-command.
etc. This is equivalent to the <command>\t</command> command.
</para>
</listitem>
</varlistentry>
...
...
@@ -396,7 +396,7 @@ PostgreSQL documentation
<term><option>--version</></term>
<listitem>
<para>
Show the <application>psql</application> version
.
Print the <application>psql</application> version and exit
.
</para>
</listitem>
</varlistentry>
...
...
@@ -406,7 +406,7 @@ PostgreSQL documentation
<term><option>--password</></term>
<listitem>
<para>
Requests that <application>psql</application> should
prompt for a
Cause <application>psql</application> to
prompt for a
password before connecting to a database. This will remain set for
the entire session, even if you change the database connection
with the meta-command <command>\connect</command>.
...
...
@@ -418,7 +418,7 @@ PostgreSQL documentation
requests password authentication. Because this is currently based
on a hack, the automatic recognition might mysteriously fail,
hence this option to force a prompt. If no password prompt is
issued and the server requires password authentication the
issued and the server requires password authentication
,
the
connection attempt will fail.
</para>
</listitem>
...
...
@@ -452,7 +452,7 @@ PostgreSQL documentation
<listitem>
<para>
Show help about <application>psql</application> command line
arguments.
arguments
, and exit
.
</para>
</listitem>
</varlistentry>
...
...
@@ -544,8 +544,8 @@ testdb=>
Ordinarily, input lines are sent to the server when a
command-terminating semicolon is reached. An end of line does not
terminate a command. Thus commands can be spread over several lines for
clarity. If the command was sent and
without error, the results of the command
are displayed on the screen.
clarity. If the command was sent and
executed without error, the results
of the command
are displayed on the screen.
</para>
<para>
...
...
@@ -563,8 +563,8 @@ testdb=>
Anything you enter in <application>psql</application> that begins
with an unquoted backslash is a <application>psql</application>
meta-command that is processed by <application>psql</application>
itself. These commands
are what makes
<application>psql</application>
interesting
for administration or
itself. These commands
help make
<application>psql</application>
more useful
for administration or
scripting. Meta-commands are more commonly called slash or backslash
commands.
</para>
...
...
@@ -637,7 +637,7 @@ testdb=>
If the current table output format is unaligned, it is switched to aligned.
If it is not unaligned, it is set to unaligned. This command is
kept for backwards compatibility. See <command>\pset</command> for a
general solution.
more
general solution.
</para>
</listitem>
</varlistentry>
...
...
@@ -831,6 +831,7 @@ testdb=>
<varlistentry>
<term><literal>\db [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
<term><literal>\db+ [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
<listitem>
<para>
...
...
@@ -991,6 +992,7 @@ testdb=>
<varlistentry>
<term><literal>\dn [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
<term><literal>\dn+ [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
<listitem>
<para>
...
...
@@ -1088,7 +1090,8 @@ testdb=>
<application>psql</application> searches the environment
variables <envar>PSQL_EDITOR</envar>, <envar>EDITOR</envar>, and
<envar>VISUAL</envar> (in that order) for an editor to use. If
all of them are unset, <filename>/bin/vi</filename> is run.
all of them are unset, <filename>vi</filename> is used on Unix
systems, <filename>notepad.exe</filename> on Windows systems.
</para>
</tip>
</listitem>
...
...
@@ -1153,9 +1156,9 @@ Tue Oct 26 21:40:57 CEST 1999
<listitem>
<para>
Sends the current query input buffer to the server and
optionally s
aves the
output in <replaceable
optionally s
tores the query's
output in <replaceable
class="parameter">filename</replaceable> or pipes the output
into a separate Unix shell
to execute
<replaceable
into a separate Unix shell
executing
<replaceable
class="parameter">command</replaceable>. A bare
<literal>\g</literal> is virtually equivalent to a semicolon. A
<literal>\g</literal> with argument is a <quote>one-shot</quote>
...
...
@@ -1582,7 +1585,7 @@ lo_import 152801
<listitem>
<para>
This command is identical to <command>\echo</command> except
that
all
output will be written to the query output channel, as
that
the
output will be written to the query output channel, as
set by <command>\o</command>.
</para>
</listitem>
...
...
@@ -1921,7 +1924,7 @@ bar
<listitem>
<para>
If set to <literal>all</literal>, all lines
entered or from a script are written to the standard output
entered
from the keyboard
or from a script are written to the standard output
before they are parsed or executed. To select this behavior on program
start-up, use the switch <option>-a</option>. If set to
<literal>queries</literal>,
...
...
@@ -2307,11 +2310,12 @@ testdb=> <userinput>\set content '\'' `sed -e "s/'/\\\\\\'/g" < my_file.txt` '\'
disconnected from the database (which can happen if
<command>\connect</command> fails). In prompt 2 the sequence is
replaced by <literal>-</literal>, <literal>*</literal>, a single quote,
or a double quote
, depending on whether
a double quote, or a dollar sign
, depending on whether
<application>psql</application> expects more input because the
command wasn't terminated yet, because you are inside a
<literal>/* ... */</literal> comment, or because you are inside
a quote. In prompt 3 the sequence doesn't produce anything.
a quoted or dollar-escaped string. In prompt 3 the sequence doesn't
produce anything.
</para>
</listitem>
</varlistentry>
...
...
@@ -2416,7 +2420,7 @@ testdb=> \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%#%] '
<application>psql</application> starts up. Tab-completion is also
supported, although the completion logic makes no claim to be an
<acronym>SQL</acronym> parser. If for some reason you do not like the tab completion, you
can turn i
f
off by putting this in a file named
can turn i
t
off by putting this in a file named
<filename>.inputrc</filename> in your home directory:
<programlisting>
$if psql
...
...
@@ -2625,8 +2629,8 @@ Field separator is "oo".
<programlisting>
testdb=> <userinput>CREATE TABLE my_table (</userinput>
testdb(> <userinput> first integer not null default 0,</userinput>
testdb(> <userinput> second text</userinput>
testdb-> <userinput>
)
;</userinput>
testdb(> <userinput> second text
)
</userinput>
testdb-> <userinput>;</userinput>
CREATE TABLE
</programlisting>
Now look at the table definition again:
...
...
@@ -2657,7 +2661,7 @@ peter@localhost testdb=> SELECT * FROM my_table;
(4 rows)
</programlisting>
You can
make this table look differently
by using the
You can
display tables in different ways
by using the
<command>\pset</command> command:
<programlisting>
peter@localhost testdb=> <userinput>\pset border 2</userinput>
...
...
doc/src/sgml/ref/select.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.7
8 2004/11/27 21:27:07 petere
Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.7
9 2005/01/04 03:58:16 tgl
Exp $
PostgreSQL documentation
-->
...
...
@@ -81,6 +81,16 @@ where <replaceable class="parameter">from_item</replaceable> can be one of:
</para>
</listitem>
<listitem>
<para>
The actual output rows are computed using the
<command>SELECT</command> output expressions for each selected
row. (See
<xref linkend="sql-select-list" endterm="sql-select-list-title">
below.)
</para>
</listitem>
<listitem>
<para>
Using the operators <literal>UNION</literal>,
...
...
@@ -100,16 +110,6 @@ where <replaceable class="parameter">from_item</replaceable> can be one of:
</para>
</listitem>
<listitem>
<para>
The actual output rows are computed using the
<command>SELECT</command> output expressions for each selected
row. (See
<xref linkend="sql-select-list" endterm="sql-select-list-title">
below.)
</para>
</listitem>
<listitem>
<para>
If the <literal>ORDER BY</literal> clause is specified, the
...
...
@@ -454,6 +454,34 @@ HAVING <replaceable class="parameter">condition</replaceable>
</para>
</refsect2>
<refsect2 id="sql-select-list">
<title id="sql-select-list-title"><command>SELECT</command> List</title>
<para>
The <command>SELECT</command> list (between the key words
<literal>SELECT</> and <literal>FROM</>) specifies expressions
that form the output rows of the <command>SELECT</command>
statement. The expressions can (and usually do) refer to columns
computed in the <literal>FROM</> clause. Using the clause
<literal>AS <replaceable
class="parameter">output_name</replaceable></literal>, another
name can be specified for an output column. This name is
primarily used to label the column for display. It can also be
used to refer to the column's value in <literal>ORDER BY</> and
<literal>GROUP BY</> clauses, but not in the <literal>WHERE</> or
<literal>HAVING</> clauses; there you must write out the
expression instead.
</para>
<para>
Instead of an expression, <literal>*</literal> can be written in
the output list as a shorthand for all the columns of the selected
rows. Also, one can write <literal><replaceable
class="parameter">table_name</replaceable>.*</literal> as a
shorthand for the columns coming from just that table.
</para>
</refsect2>
<refsect2 id="SQL-UNION">
<title id="sql-union-title"><literal>UNION</literal> Clause</title>
...
...
@@ -486,7 +514,9 @@ HAVING <replaceable class="parameter">condition</replaceable>
<para>
The result of <literal>UNION</> does not contain any duplicate
rows unless the <literal>ALL</> option is specified.
<literal>ALL</> prevents elimination of duplicates.
<literal>ALL</> prevents elimination of duplicates. (Therefore,
<literal>UNION ALL</> is usually significantly quicker than
<literal>UNION</>; use <literal>ALL</> when you can.)
</para>
<para>
...
...
@@ -524,9 +554,9 @@ HAVING <replaceable class="parameter">condition</replaceable>
<para>
The result of <literal>INTERSECT</literal> does not contain any
duplicate rows unless the <literal>ALL</> option is specified.
With <literal>ALL</>, a row that has
m duplicates in the left
table and n duplicates in the right table will appear min(m,n)
times in the result set.
With <literal>ALL</>, a row that has
<replaceable>m</> duplicates in the
left table and <replaceable>n</> duplicates in the right table will appear
min(<replaceable>m</>,<replaceable>n</>)
times in the result set.
</para>
<para>
...
...
@@ -538,6 +568,11 @@ HAVING <replaceable class="parameter">condition</replaceable>
C</literal> will be read as <literal>A UNION (B INTERSECT
C)</literal>.
</para>
<para>
Currently, <literal>FOR UPDATE</> may not be specified either for
an <literal>INTERSECT</> result or for any input of an <literal>INTERSECT</>.
</para>
</refsect2>
<refsect2 id="SQL-EXCEPT">
...
...
@@ -562,9 +597,9 @@ HAVING <replaceable class="parameter">condition</replaceable>
<para>
The result of <literal>EXCEPT</literal> does not contain any
duplicate rows unless the <literal>ALL</> option is specified.
With <literal>ALL</>, a row that has
m duplicates in the left
table and n duplicates in the right table will appear max(m-n,0)
times in the result set.
With <literal>ALL</>, a row that has
<replaceable>m</> duplicates in the
left table and <replaceable>n</> duplicates in the right table will appear
max(<replaceable>m</>-<replaceable>n</>,0)
times in the result set.
</para>
<para>
...
...
@@ -573,33 +608,10 @@ HAVING <replaceable class="parameter">condition</replaceable>
unless parentheses dictate otherwise. <literal>EXCEPT</> binds at
the same level as <literal>UNION</>.
</para>
</refsect2>
<refsect2 id="sql-select-list">
<title id="sql-select-list-title"><command>SELECT</command> List</title>
<para>
The <command>SELECT</command> list (between the key words
<literal>SELECT</> and <literal>FROM</>) specifies expressions
that form the output rows of the <command>SELECT</command>
statement. The expressions can (and usually do) refer to columns
computed in the <literal>FROM</> clause. Using the clause
<literal>AS <replaceable
class="parameter">output_name</replaceable></literal>, another
name can be specified for an output column. This name is
primarily used to label the column for display. It can also be
used to refer to the column's value in <literal>ORDER BY</> and
<literal>GROUP BY</> clauses, but not in the <literal>WHERE</> or
<literal>HAVING</> clauses; there you must write out the
expression instead.
</para>
<para>
Instead of an expression, <literal>*</literal> can be written in
the output list as a shorthand for all the columns of the selected
rows. Also, one can write <literal><replaceable
class="parameter">table_name</replaceable>.*</literal> as a
shorthand for the columns coming from just that table.
Currently, <literal>FOR UPDATE</> may not be specified either for
an <literal>EXCEPT</> result or for any input of an <literal>EXCEPT</>.
</para>
</refsect2>
...
...
@@ -707,7 +719,7 @@ OFFSET <replaceable class="parameter">start</replaceable>
When using <literal>LIMIT</>, it is a good idea to use an
<literal>ORDER BY</> clause that constrains the result rows into a
unique order. Otherwise you will get an unpredictable subset of
the query's rows
---
you may be asking for the tenth through
the query's rows
—
you may be asking for the tenth through
twentieth rows, but tenth through twentieth in what ordering? You
don't know what ordering unless you specify <literal>ORDER BY</>.
</para>
...
...
doc/src/sgml/ref/select_into.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/select_into.sgml,v 1.3
1 2004/09/26 23:48:07 neilc
Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/select_into.sgml,v 1.3
2 2005/01/04 03:58:16 tgl
Exp $
PostgreSQL documentation
-->
...
...
@@ -95,12 +95,8 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac
<para>
Prior to <productname>PostgreSQL</> 8.0, the table created by
<command>SELECT INTO</command> always included OIDs. Furthermore,
these OIDs were newly generated: they were distinct from the OIDs
of any of the rows in the source tables of the <command>SELECT
INTO</command> statement. Therefore, if <command>SELECT
INTO</command> was frequently executed, the OID counter would be
rapidly incremented. As of <productname>PostgreSQL</> 8.0, the
<command>SELECT INTO</command> always included OIDs.
As of <productname>PostgreSQL</> 8.0, the
inclusion of OIDs in the table created by <command>SELECT
INTO</command> is controlled by the
<xref linkend="guc-default-with-oids"> configuration variable. This
...
...
doc/src/sgml/ref/show.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/show.sgml,v 1.3
6 2004/08/03 20:32:32
tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/show.sgml,v 1.3
7 2005/01/04 03:58:16
tgl Exp $
PostgreSQL documentation
-->
...
...
@@ -118,7 +118,7 @@ SHOW ALL
<term><literal>ALL</literal></term>
<listitem>
<para>
Show the values of all configuration
s
parameters.
Show the values of all configuration parameters.
</para>
</listitem>
</varlistentry>
...
...
@@ -165,16 +165,16 @@ SHOW geqo;
<programlisting>
SHOW ALL;
name | setting
-------------------------------+---------------------------------------
--------------------------------+----------------------------------------------
add_missing_from | on
archive_command | unset
australian_timezones | off
authentication_timeout | 60
checkpoint_segments | 3
.
.
.
w
al_debug | off
wal_sync_method | fdatasync
(
94
rows)
w
ork_mem | 1024
zero_damaged_pages | off
(
140
rows)
</programlisting>
</para>
</refsect1>
...
...
@@ -193,6 +193,7 @@ SHOW ALL;
<simplelist type="inline">
<member><xref linkend="SQL-SET" endterm="SQL-SET-title"></member>
<member><xref linkend="SQL-RESET" endterm="SQL-RESET-title"></member>
</simplelist>
</refsect1>
...
...
doc/src/sgml/ref/update.sgml
View file @
cc093bc3
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/update.sgml,v 1.3
0 2004/08/08 01:48:31 momjian
Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/update.sgml,v 1.3
1 2005/01/04 03:58:16 tgl
Exp $
PostgreSQL documentation
-->
...
...
@@ -150,6 +150,26 @@ UPDATE <replaceable class="parameter">count</replaceable>
</para>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
When joining the target table to other tables using a <replaceable
class="PARAMETER">fromlist</replaceable>, be careful that the join
produces at most one output row for each row to be modified. In
other words, a target row mustn't join to more than one row from
the other table(s). If it does, then only one of the join rows
will be used to update the target row, but which one will be used
is not readily predictable.
</para>
<para>
Because of this indeterminancy, referencing other tables only within
sub-selects is safer, though often harder to read and slower than
using a join.
</para>
</refsect1>
<refsect1>
<title>Examples</title>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment