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
6e591224
Commit
6e591224
authored
Sep 12, 2003
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update obsolete examples of error messages; various other minor editing.
parent
8b43e325
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
181 additions
and
144 deletions
+181
-144
doc/src/sgml/advanced.sgml
doc/src/sgml/advanced.sgml
+3
-2
doc/src/sgml/catalogs.sgml
doc/src/sgml/catalogs.sgml
+4
-4
doc/src/sgml/client-auth.sgml
doc/src/sgml/client-auth.sgml
+9
-7
doc/src/sgml/datatype.sgml
doc/src/sgml/datatype.sgml
+2
-2
doc/src/sgml/ddl.sgml
doc/src/sgml/ddl.sgml
+4
-4
doc/src/sgml/docguide.sgml
doc/src/sgml/docguide.sgml
+7
-5
doc/src/sgml/func.sgml
doc/src/sgml/func.sgml
+54
-37
doc/src/sgml/info.sgml
doc/src/sgml/info.sgml
+2
-2
doc/src/sgml/maintenance.sgml
doc/src/sgml/maintenance.sgml
+8
-18
doc/src/sgml/mvcc.sgml
doc/src/sgml/mvcc.sgml
+2
-2
doc/src/sgml/notation.sgml
doc/src/sgml/notation.sgml
+2
-2
doc/src/sgml/plpgsql.sgml
doc/src/sgml/plpgsql.sgml
+16
-17
doc/src/sgml/plpython.sgml
doc/src/sgml/plpython.sgml
+2
-2
doc/src/sgml/postgres.sgml
doc/src/sgml/postgres.sgml
+3
-3
doc/src/sgml/queries.sgml
doc/src/sgml/queries.sgml
+17
-1
doc/src/sgml/regress.sgml
doc/src/sgml/regress.sgml
+7
-6
doc/src/sgml/runtime.sgml
doc/src/sgml/runtime.sgml
+20
-18
doc/src/sgml/start.sgml
doc/src/sgml/start.sgml
+5
-6
doc/src/sgml/typeconv.sgml
doc/src/sgml/typeconv.sgml
+5
-4
doc/src/sgml/xfunc.sgml
doc/src/sgml/xfunc.sgml
+9
-2
No files found.
doc/src/sgml/advanced.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.3
5 2003/08/31 17:32:18 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.3
6 2003/09/12 22:17:18 tgl
Exp $
-->
-->
<chapter id="tutorial-advanced">
<chapter id="tutorial-advanced">
...
@@ -123,7 +123,8 @@ INSERT INTO weather VALUES ('Berkeley', 45, 53, 0.0, '1994-11-28');
...
@@ -123,7 +123,8 @@ INSERT INTO weather VALUES ('Berkeley', 45, 53, 0.0, '1994-11-28');
</programlisting>
</programlisting>
<screen>
<screen>
ERROR: <unnamed> referential integrity violation - key referenced from weather not found in cities
ERROR: insert or update on "weather" violates foreign key constraint "$1"
DETAIL: Key (city)=(Berkeley) is not present in "cities".
</screen>
</screen>
</para>
</para>
...
...
doc/src/sgml/catalogs.sgml
View file @
6e591224
<!--
<!--
Documentation of the system catalogs, directed toward PostgreSQL developers
Documentation of the system catalogs, directed toward PostgreSQL developers
$Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.7
3 2003/06/25 01:14:37 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.7
4 2003/09/12 22:17:19 tgl
Exp $
-->
-->
<chapter id="catalogs">
<chapter id="catalogs">
...
@@ -622,7 +622,7 @@
...
@@ -622,7 +622,7 @@
<row>
<row>
<entry><structfield>adnum</structfield></entry>
<entry><structfield>adnum</structfield></entry>
<entry><type>int2</type></entry>
<entry><type>int2</type></entry>
<entry><literal>
pg_attribute
.attnum</literal></entry>
<entry><literal>
<link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>
.attnum</literal></entry>
<entry>The number of the column</entry>
<entry>The number of the column</entry>
</row>
</row>
...
@@ -1650,7 +1650,7 @@
...
@@ -1650,7 +1650,7 @@
<row>
<row>
<entry><structfield>refclassid</structfield></entry>
<entry><structfield>refclassid</structfield></entry>
<entry><type>oid</type></entry>
<entry><type>oid</type></entry>
<entry><literal>
pg_class
.oid</literal></entry>
<entry><literal>
<link linkend="catalog-pg-class"><structname>pg_class</structname></link>
.oid</literal></entry>
<entry>The OID of the system catalog the referenced object is in</entry>
<entry>The OID of the system catalog the referenced object is in</entry>
</row>
</row>
...
@@ -3579,7 +3579,7 @@
...
@@ -3579,7 +3579,7 @@
<row>
<row>
<entry><structfield>typbasetype</structfield></entry>
<entry><structfield>typbasetype</structfield></entry>
<entry><type>oid</type></entry>
<entry><type>oid</type></entry>
<entry><literal>
pg_type
.oid</literal></entry>
<entry><literal>
<link linkend="catalog-pg-type"><structname>pg_type</structname></link>
.oid</literal></entry>
<entry><para>
<entry><para>
If this is a derived type (see <structfield>typtype</structfield>),
If this is a derived type (see <structfield>typtype</structfield>),
then <structfield>typbasetype</structfield> identifies
then <structfield>typbasetype</structfield> identifies
...
...
doc/src/sgml/client-auth.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.5
7 2003/09/05 20:31:35
tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.5
8 2003/09/12 22:17:22
tgl Exp $
-->
-->
<chapter id="client-authentication">
<chapter id="client-authentication">
...
@@ -130,7 +130,7 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
...
@@ -130,7 +130,7 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
</para>
</para>
<para>
<para>
To
be able
make use of this option the server must be built
To make use of this option the server must be built
with SSL support enabled. Furthermore, SSL must be enabled by
with SSL support enabled. Furthermore, SSL must be enabled by
enabling the <varname>ssl</varname> configuration parameter
enabling the <varname>ssl</varname> configuration parameter
(see <xref linkend="runtime-config"> for more information).
(see <xref linkend="runtime-config"> for more information).
...
@@ -901,7 +901,7 @@ omicron bryanh guest1
...
@@ -901,7 +901,7 @@ omicron bryanh guest1
<para>
<para>
<ProgramListing>
<ProgramListing>
No pg_hba.conf entry for host 123.123.123.123, user andym, database testdb
FATAL: no pg_hba.conf entry for host "123.123.123.123", user "andym", database "testdb"
</ProgramListing>
</ProgramListing>
This is what you are most likely to get if you succeed in contacting
This is what you are most likely to get if you succeed in contacting
the server, but it does not want to talk to you. As the message
the server, but it does not want to talk to you. As the message
...
@@ -912,7 +912,7 @@ No pg_hba.conf entry for host 123.123.123.123, user andym, database testdb
...
@@ -912,7 +912,7 @@ No pg_hba.conf entry for host 123.123.123.123, user andym, database testdb
<para>
<para>
<ProgramListing>
<ProgramListing>
Password authentication failed for user 'andym'
FATAL: Password authentication failed for user "andym"
</ProgramListing>
</ProgramListing>
Messages like this indicate that you contacted the server, and it is
Messages like this indicate that you contacted the server, and it is
willing to talk to you, but not until you pass the authorization
willing to talk to you, but not until you pass the authorization
...
@@ -924,25 +924,27 @@ Password authentication failed for user 'andym'
...
@@ -924,25 +924,27 @@ Password authentication failed for user 'andym'
<para>
<para>
<ProgramListing>
<ProgramListing>
FATAL
1
: user "andym" does not exist
FATAL: user "andym" does not exist
</ProgramListing>
</ProgramListing>
The indicated user name was not found.
The indicated user name was not found.
</para>
</para>
<para>
<para>
<ProgramListing>
<ProgramListing>
FATAL
1: Database "testdb" does not exist in the system catalog.
FATAL
: database "testdb" does not exist
</ProgramListing>
</ProgramListing>
The database you are trying to connect to does not exist. Note that
The database you are trying to connect to does not exist. Note that
if you do not specify a database name, it defaults to the database
if you do not specify a database name, it defaults to the database
user name, which may or may not be the right thing.
user name, which may or may not be the right thing.
</para>
</para>
<tip>
<para>
<para>
Note that t
he server log may contain more information about an
T
he server log may contain more information about an
authentication failure than is reported to the client. If you are
authentication failure than is reported to the client. If you are
confused about the reason for a failure, check the log.
confused about the reason for a failure, check the log.
</para>
</para>
</tip>
</sect1>
</sect1>
</chapter>
</chapter>
doc/src/sgml/datatype.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.12
3 2003/08/31 17:32:18 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.12
4 2003/09/12 22:17:22 tgl
Exp $
-->
-->
<chapter id="datatype">
<chapter id="datatype">
...
@@ -2821,7 +2821,7 @@ CREATE TABLE test (a BIT(3), b BIT VARYING(5));
...
@@ -2821,7 +2821,7 @@ CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'10', B'101');
INSERT INTO test VALUES (B'10', B'101');
<computeroutput>
<computeroutput>
ERROR:
Bit string length 2 does not match type BIT
(3)
ERROR:
bit string length 2 does not match type bit
(3)
</computeroutput>
</computeroutput>
INSERT INTO test VALUES (B'10'::bit(3), B'101');
INSERT INTO test VALUES (B'10'::bit(3), B'101');
SELECT * FROM test;
SELECT * FROM test;
...
...
doc/src/sgml/ddl.sgml
View file @
6e591224
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ddl.sgml,v 1.1
8 2003/08/31 17:32:18 petere
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ddl.sgml,v 1.1
9 2003/09/12 22:17:22 tgl
Exp $ -->
<chapter id="ddl">
<chapter id="ddl">
<title>Data Definition</title>
<title>Data Definition</title>
...
@@ -1939,8 +1939,8 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
...
@@ -1939,8 +1939,8 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
DROP TABLE products;
DROP TABLE products;
NOTICE: constraint $1 on table orders depends on table products
NOTICE: constraint $1 on table orders depends on table products
ERROR:
C
annot drop table products because other objects depend on it
ERROR:
c
annot drop table products because other objects depend on it
Use DROP ... CASCADE to drop the dependent objects too
HINT: Use DROP ... CASCADE to drop the dependent objects too.
</screen>
</screen>
The error message contains a useful hint: if you do not want to
The error message contains a useful hint: if you do not want to
bother deleting all the dependent objects individually, you can run
bother deleting all the dependent objects individually, you can run
...
@@ -1958,7 +1958,7 @@ DROP TABLE products CASCADE;
...
@@ -1958,7 +1958,7 @@ DROP TABLE products CASCADE;
specifying <literal>CASCADE</literal>. Of course, the nature of
specifying <literal>CASCADE</literal>. Of course, the nature of
the possible dependencies varies with the type of the object. You
the possible dependencies varies with the type of the object. You
can also write <literal>RESTRICT</literal> instead of
can also write <literal>RESTRICT</literal> instead of
<literal>CASCADE</literal> to get the default behavior which is to
<literal>CASCADE</literal> to get the default behavior
,
which is to
prevent drops of objects that other objects depend on.
prevent drops of objects that other objects depend on.
</para>
</para>
...
...
doc/src/sgml/docguide.sgml
View file @
6e591224
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.4
5 2003/09/11 21:42:19 momjian
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.4
6 2003/09/12 22:17:22 tgl
Exp $ -->
<appendix id="docguide">
<appendix id="docguide">
<title>Documentation</title>
<title>Documentation</title>
...
@@ -30,8 +30,8 @@
...
@@ -30,8 +30,8 @@
</listitem>
</listitem>
</itemizedlist>
</itemizedlist>
Additionally, a number of plain-text
README-type files can be found
Additionally, a number of plain-text
<filename>README</filename> files can
throughout the <productname>PostgreSQL</productname> source tree,
be found
throughout the <productname>PostgreSQL</productname> source tree,
documenting various implementation issues.
documenting various implementation issues.
</para>
</para>
...
@@ -1244,10 +1244,12 @@ End:
...
@@ -1244,10 +1244,12 @@ End:
<para>
<para>
Reference pages describing SQL commands should contain the
Reference pages describing SQL commands should contain the
following sections: Name, Synopsis, Description, Parameters,
following sections: Name, Synopsis, Description, Parameters,
Usage, Diagnostic
s, Notes, Examples, Compatibility, History, See
Output
s, Notes, Examples, Compatibility, History, See
Also. The Parameters section is like the Options section, but
Also. The Parameters section is like the Options section, but
there is more freedom about which clauses of the command can be
there is more freedom about which clauses of the command can be
listed. The Compatibility section should explain to what extent
listed. The Outputs section is only needed if the command returns
something other than a default command-completion tag. The Compatibility
section should explain to what extent
this command conforms to the SQL standard(s), or to which other
this command conforms to the SQL standard(s), or to which other
database system it is compatible. The See Also section of SQL
database system it is compatible. The See Also section of SQL
commands should list SQL commands before cross-references to
commands should list SQL commands before cross-references to
...
...
doc/src/sgml/func.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.17
2 2003/09/11 18:30:38 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.17
3 2003/09/12 22:17:22 tgl
Exp $
PostgreSQL documentation
PostgreSQL documentation
-->
-->
...
@@ -3890,8 +3890,8 @@ substring('foobar' from 'o(.)b') <lineannotation>o</lineannotation>
...
@@ -3890,8 +3890,8 @@ substring('foobar' from 'o(.)b') <lineannotation>o</lineannotation>
</table>
</table>
<para>
<para>
Warning
.
<literal><function>to_char</function>(<type>interval</type>, <type>text</type>)</literal>
Warning
:
<literal><function>to_char</function>(<type>interval</type>, <type>text</type>)</literal>
is deprecated and should not be used in newly-written code.
W
ill be removed in the next version.
is deprecated and should not be used in newly-written code.
It w
ill be removed in the next version.
</para>
</para>
<para>
<para>
...
@@ -6402,7 +6402,16 @@ SELECT a,
...
@@ -6402,7 +6402,16 @@ SELECT a,
2 | two
2 | two
3 | other
3 | other
</screen>
</screen>
</para>
</para>
<para>
A <token>CASE</token> expression does not evaluate any subexpressions
that are not needed to determine the result. For example, this is a
possible way of avoiding a division-by-zero failure:
<programlisting>
SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END;
</programlisting>
</para>
</sect2>
</sect2>
<sect2>
<sect2>
...
@@ -6418,13 +6427,21 @@ SELECT a,
...
@@ -6418,13 +6427,21 @@ SELECT a,
<para>
<para>
The <function>COALESCE</function> function returns the first of its
The <function>COALESCE</function> function returns the first of its
arguments that is not null. This is often useful to substitute a
arguments that is not null. Null is returned only if all arguments
are null. This is often useful to substitute a
default value for null values when data is retrieved for display,
default value for null values when data is retrieved for display,
for example:
for example:
<programlisting>
<programlisting>
SELECT COALESCE(description, short_description, '(none)') ...
SELECT COALESCE(description, short_description, '(none)') ...
</programlisting>
</programlisting>
</para>
</para>
<para>
Like a <token>CASE</token> expression, <function>COALESCE</function> will
not evaluate arguments that are not needed to determine the result;
that is, arguments to the right of the first non-null argument are
not evaluated.
</para>
</sect2>
</sect2>
<sect2>
<sect2>
...
@@ -7277,6 +7294,21 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7277,6 +7294,21 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<tbody>
<tbody>
<row>
<row>
<entry>
<entry>
<literal>
<function>array_cat</function>
(<type>anyarray</type>, <type>anyarray</type>)
</literal>
</entry>
<entry><type>anyarray</type></entry>
<entry>
concatenate two arrays, returning <literal>NULL</literal>
for <literal>NULL</literal> inputs
</entry>
<entry><literal>array_cat(ARRAY[1,2,3], ARRAY[4,5])</literal></entry>
<entry><literal>{1,2,3,4,5}</literal></entry>
</row>
<row>
<entry>
<literal>
<literal>
<function>array_append</function>
<function>array_append</function>
(<type>anyarray</type>, <type>anyelement</type>)
(<type>anyarray</type>, <type>anyelement</type>)
...
@@ -7293,17 +7325,17 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7293,17 +7325,17 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<row>
<row>
<entry>
<entry>
<literal>
<literal>
<function>array_
cat
</function>
<function>array_
prepend
</function>
(<type>any
array
</type>, <type>anyarray</type>)
(<type>any
element
</type>, <type>anyarray</type>)
</literal>
</literal>
</entry>
</entry>
<entry><type>anyarray</type></entry>
<entry><type>anyarray</type></entry>
<entry>
<entry>
concatenate two arrays, returning <literal>NULL</literal>
append an element to the beginning of an array, returning
for <literal>NULL</literal> inputs
<literal>NULL</literal>
for <literal>NULL</literal> inputs
</entry>
</entry>
<entry><literal>array_
cat(ARRAY[1,2,3], ARRAY[4,5,6
])</literal></entry>
<entry><literal>array_
prepend(1, ARRAY[2,3
])</literal></entry>
<entry><literal>{1,2,3
,4,5,6
}</literal></entry>
<entry><literal>{1,2,3}</literal></entry>
</row>
</row>
<row>
<row>
<entry>
<entry>
...
@@ -7317,7 +7349,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7317,7 +7349,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
returns a text representation of array dimension lower and upper bounds,
returns a text representation of array dimension lower and upper bounds,
generating an ERROR for <literal>NULL</literal> inputs
generating an ERROR for <literal>NULL</literal> inputs
</entry>
</entry>
<entry><literal>array_dims(array[[1,2,3],[4,5,6]])</literal></entry>
<entry><literal>array_dims(array[[1,2,3],
[4,5,6]])</literal></entry>
<entry><literal>[1:2][1:3]</literal></entry>
<entry><literal>[1:2][1:3]</literal></entry>
</row>
</row>
<row>
<row>
...
@@ -7338,17 +7370,17 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7338,17 +7370,17 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
<row>
<row>
<entry>
<entry>
<literal>
<literal>
<function>array_
prepend
</function>
<function>array_
upper
</function>
(<type>any
element</type>, <type>anyarray
</type>)
(<type>any
array</type>, <type>integer
</type>)
</literal>
</literal>
</entry>
</entry>
<entry><type>
anyarray
</type></entry>
<entry><type>
integer
</type></entry>
<entry>
<entry>
append an element to the beginning of an array
, returning
returns upper bound of the requested array dimension
, returning
<literal>NULL</literal> for <literal>NULL</literal> inputs
<literal>NULL</literal> for <literal>NULL</literal> inputs
</entry>
</entry>
<entry><literal>array_
prepend(1, ARRAY[2,3]
)</literal></entry>
<entry><literal>array_
upper(ARRAY[1,2,3,4], 1
)</literal></entry>
<entry><literal>
{1,2,3}
</literal></entry>
<entry><literal>
4
</literal></entry>
</row>
</row>
<row>
<row>
<entry>
<entry>
...
@@ -7362,23 +7394,8 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7362,23 +7394,8 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
concatenates array elements using provided delimiter, returning
concatenates array elements using provided delimiter, returning
<literal>NULL</literal> for <literal>NULL</literal> inputs
<literal>NULL</literal> for <literal>NULL</literal> inputs
</entry>
</entry>
<entry><literal>array_to_string(array[1.1,2.2,3.3]::numeric(4,2)[],'~^~')</literal></entry>
<entry><literal>array_to_string(array[1, 2, 3], '~^~')</literal></entry>
<entry><literal>1.10~^~2.20~^~3.30</literal></entry>
<entry><literal>1~^~2~^~3</literal></entry>
</row>
<row>
<entry>
<literal>
<function>array_upper</function>
(<type>anyarray</type>, <type>integer</type>)
</literal>
</entry>
<entry><type>integer</type></entry>
<entry>
returns upper bound of the requested array dimension, returning
<literal>NULL</literal> for <literal>NULL</literal> inputs
</entry>
<entry><literal>array_upper(array_append(ARRAY[1,2,3], 4), 1)</literal></entry>
<entry><literal>4</literal></entry>
</row>
</row>
<row>
<row>
<entry>
<entry>
...
@@ -7392,8 +7409,8 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
...
@@ -7392,8 +7409,8 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
splits string into array elements using provided delimiter, returning
splits string into array elements using provided delimiter, returning
<literal>NULL</literal> for <literal>NULL</literal> inputs
<literal>NULL</literal> for <literal>NULL</literal> inputs
</entry>
</entry>
<entry><literal>string_to_array(
'1.10~^~2.20~^~3.30','~^~')::float8[]
</literal></entry>
<entry><literal>string_to_array(
'xx~^~yy~^~zz', '~^~')
</literal></entry>
<entry><literal>{
1.1,2.2,3.3
}</literal></entry>
<entry><literal>{
xx,yy,zz
}</literal></entry>
</row>
</row>
</tbody>
</tbody>
</tgroup>
</tgroup>
...
...
doc/src/sgml/info.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.
19 2003/09/08 23:02:28 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.
20 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<sect1 id="resources">
<sect1 id="resources">
...
@@ -24,7 +24,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.19 2003/09/08 23:02:28 petere
...
@@ -24,7 +24,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.19 2003/09/08 23:02:28 petere
<term>READMEs</term>
<term>READMEs</term>
<listitem>
<listitem>
<para>
<para>
<filename>README</filename> files are available for
some
<filename>README</filename> files are available for
most
contributed packages.
contributed packages.
</para>
</para>
</listitem>
</listitem>
...
...
doc/src/sgml/maintenance.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.2
4 2003/08/31 17:32:19 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.2
5 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<chapter id="maintenance">
<chapter id="maintenance">
...
@@ -347,9 +347,8 @@ SELECT datname, age(datfrozenxid) FROM pg_database;
...
@@ -347,9 +347,8 @@ SELECT datname, age(datfrozenxid) FROM pg_database;
<programlisting>
<programlisting>
play=# VACUUM;
play=# VACUUM;
WARNING: Some databases have not been vacuumed in 1613770184 transactions.
WARNING: some databases have not been vacuumed in 1613770184 transactions
Better vacuum them within 533713463 transactions,
HINT: Better vacuum them within 533713463 transactions, or you may have a wraparound failure.
or you may have a wraparound failure.
VACUUM
VACUUM
</programlisting>
</programlisting>
</para>
</para>
...
@@ -387,20 +386,11 @@ VACUUM
...
@@ -387,20 +386,11 @@ VACUUM
</indexterm>
</indexterm>
<para>
<para>
<productname>PostgreSQL</productname> is unable to reuse B-tree index
In some situations it is worthwhile to rebuild indexes periodically
pages in certain cases. The problem is that if indexed rows are
with the <command>REINDEX</> command. (There is also
deleted, those index pages can only be reused by rows with similar
<filename>contrib/reindexdb</> which can reindex an entire database.)
values. For example, if indexed rows are deleted and newly
However, <productname>PostgreSQL</> 7.4 has substantially reduced the need
inserted/updated rows have much higher values, the new rows can't use
for this activity compared to earlier releases.
the index space made available by the deleted rows. Instead, such
new rows must be placed on new index pages. In such cases, disk
space used by the index will grow indefinitely, even if
<command>VACUUM</> is run frequently.
</para>
<para>
As a solution, you can use the <command>REINDEX</> command
periodically to discard pages used by deleted rows. There is also
<filename>contrib/reindexdb</> which can reindex an entire database.
</para>
</para>
</sect1>
</sect1>
...
...
doc/src/sgml/mvcc.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.3
6 2003/08/31 17:32:19 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.3
7 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<chapter id="mvcc">
<chapter id="mvcc">
...
@@ -344,7 +344,7 @@ COMMIT;
...
@@ -344,7 +344,7 @@ COMMIT;
then the serializable transaction will be rolled back with the message
then the serializable transaction will be rolled back with the message
<screen>
<screen>
ERROR:
Can'
t serialize access due to concurrent update
ERROR:
could no
t serialize access due to concurrent update
</screen>
</screen>
because a serializable transaction cannot modify rows changed by
because a serializable transaction cannot modify rows changed by
...
...
doc/src/sgml/notation.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.2
4 2003/09/08 23:17:15
tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.2
5 2003/09/12 22:17:23
tgl Exp $
-->
-->
<sect1 id="notation">
<sect1 id="notation">
...
@@ -41,7 +41,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.24 2003/09/08 23:17:15 tg
...
@@ -41,7 +41,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.24 2003/09/08 23:17:15 tg
in charge of installing and running the server. A <firstterm>user</firstterm>
in charge of installing and running the server. A <firstterm>user</firstterm>
could be anyone who is using, or wants to use, any part of the
could be anyone who is using, or wants to use, any part of the
<productname>PostgreSQL</productname> system. These terms should not
<productname>PostgreSQL</productname> system. These terms should not
be interpreted too narrowly; this
documentation set
does not have fixed
be interpreted too narrowly; this
book
does not have fixed
presumptions about system administration procedures.
presumptions about system administration procedures.
</para>
</para>
</sect1>
</sect1>
doc/src/sgml/plpgsql.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.2
5 2003/09/11 21:42:20 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.2
6 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<chapter id="plpgsql">
<chapter id="plpgsql">
...
@@ -2047,14 +2047,14 @@ COMMIT;
...
@@ -2047,14 +2047,14 @@ COMMIT;
RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">variable</replaceable> <optional>, ...</optional></optional>;
RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">variable</replaceable> <optional>, ...</optional></optional>;
</synopsis>
</synopsis>
Possible levels are <literal>DEBUG</literal>
(write the message to
Possible levels are <literal>DEBUG</literal>
,
the server log), <literal>LOG</literal> (write the message to the
<literal>LOG</literal>, <literal>INFO</literal>,
server log with a higher priority), <literal>INFO
</literal>,
<literal>NOTICE</literal>, <literal>WARNING
</literal>,
<literal>NOTICE</literal> and <literal>WARNING</literal> (write
and <literal>EXCEPTION</literal>.
the message to the server log and send it to the client, with
<literal>EXCEPTION</literal> raises an error and aborts the current
respectively higher priorities), and <literal>EXCEPTION</literal>
transaction; the other levels only generate messages of different
(raise an error and abort the current transaction). Whether
priority levels.
messages of a particular priority are reported to the client,
Whether
messages of a particular priority are reported to the client,
written to the server log, or both is controlled by the
written to the server log, or both is controlled by the
<varname>log_min_messages</varname> and
<varname>log_min_messages</varname> and
<varname>client_min_messages</varname> configuration
<varname>client_min_messages</varname> configuration
...
@@ -2078,14 +2078,14 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa
...
@@ -2078,14 +2078,14 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa
<para>
<para>
In this example, the value of <literal>v_job_id</> will replace the
In this example, the value of <literal>v_job_id</> will replace the
<literal>%</literal> in the string
.
<literal>%</literal> in the string
:
<programlisting>
<programlisting>
RAISE NOTICE ''Calling cs_create_job(%)'', v_job_id;
RAISE NOTICE ''Calling cs_create_job(%)'', v_job_id;
</programlisting>
</programlisting>
</para>
</para>
<para>
<para>
This example will abort the transaction with the given error message
.
This example will abort the transaction with the given error message
:
<programlisting>
<programlisting>
RAISE EXCEPTION ''Inexistent ID --> %'', user_id;
RAISE EXCEPTION ''Inexistent ID --> %'', user_id;
</programlisting>
</programlisting>
...
@@ -2111,10 +2111,9 @@ RAISE EXCEPTION ''Inexistent ID --> %'', user_id;
...
@@ -2111,10 +2111,9 @@ RAISE EXCEPTION ''Inexistent ID --> %'', user_id;
<para>
<para>
Thus, the only thing <application>PL/pgSQL</application>
Thus, the only thing <application>PL/pgSQL</application>
currently does when it encounters an abort during execution of a
currently does when it encounters an abort during execution of a
function or trigger procedure is to write some additional
function or trigger procedure is to add some fields to the message
<literal>NOTICE</literal> level log messages telling in which
telling in which function and where (line number and type of statement)
function and where (line number and type of statement) this
the error happened. The error always stops execution of the function.
happened. The error always stops execution of the function.
</para>
</para>
</sect1>
</sect1>
...
@@ -2365,8 +2364,8 @@ CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
...
@@ -2365,8 +2364,8 @@ CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
<listitem>
<listitem>
<para>
<para>
You can overload function
s in <productname>PostgreSQL</>. This is often used to work
You can overload function
names in <productname>PostgreSQL</>. This is
around the lack of default parameters.
often used to work
around the lack of default parameters.
</para>
</para>
</listitem>
</listitem>
...
...
doc/src/sgml/plpython.sgml
View file @
6e591224
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/plpython.sgml,v 1.
19 2003/08/31 17:32:19 petere
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/plpython.sgml,v 1.
20 2003/09/12 22:17:23 tgl
Exp $ -->
<chapter id="plpython">
<chapter id="plpython">
<title>PL/Python - Python Procedural Language</title>
<title>PL/Python - Python Procedural Language</title>
...
@@ -63,7 +63,7 @@ def __plpython_procedure_myfunc_23456():
...
@@ -63,7 +63,7 @@ def __plpython_procedure_myfunc_23456():
return args[0]
return args[0]
</programlisting>
</programlisting>
where
23456 is the OID of the function.
assuming that
23456 is the OID of the function.
</para>
</para>
<para>
<para>
...
...
doc/src/sgml/postgres.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.5
5 2003/09/08 23:02:28 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.5
6 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
...
@@ -28,13 +28,13 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.55 2003/09/08 23:02:28 pe
...
@@ -28,13 +28,13 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.55 2003/09/08 23:02:28 pe
<partintro>
<partintro>
<para>
<para>
Welcome to <productname>PostgreSQL</productname> Tutorial. The
Welcome to
the
<productname>PostgreSQL</productname> Tutorial. The
following few chapters are intended to give a simple introduction
following few chapters are intended to give a simple introduction
to <productname>PostgreSQL</productname>, relational database
to <productname>PostgreSQL</productname>, relational database
concepts, and the SQL language to those who are new to any one of
concepts, and the SQL language to those who are new to any one of
these aspects. We only assume some general knowledge about how to
these aspects. We only assume some general knowledge about how to
use computers. No particular Unix or programming experience is
use computers. No particular Unix or programming experience is
required. This part is mainly intended to give you
a
hands-on
required. This part is mainly intended to give you
some
hands-on
experience with important aspects of the
experience with important aspects of the
<productname>PostgreSQL</productname> system. It makes no attempt
<productname>PostgreSQL</productname> system. It makes no attempt
to be a complete or thorough treatment of the topics it covers.
to be a complete or thorough treatment of the topics it covers.
...
...
doc/src/sgml/queries.sgml
View file @
6e591224
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/queries.sgml,v 1.2
3 2003/08/31 17:32:19 petere
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/queries.sgml,v 1.2
4 2003/09/12 22:17:23 tgl
Exp $ -->
<chapter id="queries">
<chapter id="queries">
<title>Queries</title>
<title>Queries</title>
...
@@ -981,6 +981,11 @@ SELECT a, b, c FROM ...
...
@@ -981,6 +981,11 @@ SELECT a, b, c FROM ...
name must also be given, as in
name must also be given, as in
<programlisting>
<programlisting>
SELECT tbl1.a, tbl2.a, tbl1.b FROM ...
SELECT tbl1.a, tbl2.a, tbl1.b FROM ...
</programlisting>
When working with multiple tables, it can also be useful to ask for
all the columns of a particular table:
<programlisting>
SELECT tbl1.*, tbl2.a FROM ...
</programlisting>
</programlisting>
(See also <xref linkend="queries-where">.)
(See also <xref linkend="queries-where">.)
</para>
</para>
...
@@ -1237,6 +1242,17 @@ SELECT a AS b FROM table1 ORDER BY a;
...
@@ -1237,6 +1242,17 @@ SELECT a AS b FROM table1 ORDER BY a;
<quote>smaller</quote> is defined in terms of the
<quote>smaller</quote> is defined in terms of the
<literal><</literal> operator. Similarly, descending order is
<literal><</literal> operator. Similarly, descending order is
determined with the <literal>></literal> operator.
determined with the <literal>></literal> operator.
<footnote>
<para>
Actually, <productname>PostgreSQL</> uses the <firstterm>default btree
operator class</> for the column's datatype to determine the sort
ordering for <literal>ASC</> and <literal>DESC</>. Conventionally,
datatypes will be set up so that the <literal><</literal> and
<literal>></literal> operators correspond to this sort ordering,
but a user-defined datatype's designer could choose to do something
different.
</para>
</footnote>
</para>
</para>
<para>
<para>
...
...
doc/src/sgml/regress.sgml
View file @
6e591224
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/regress.sgml,v 1.3
3 2003/08/31 17:32:19 petere
Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/regress.sgml,v 1.3
4 2003/09/12 22:17:23 tgl
Exp $ -->
<chapter id="regress">
<chapter id="regress">
<title id="regress-title">Regression Tests</title>
<title id="regress-title">Regression Tests</title>
...
@@ -392,13 +392,14 @@ testname/platformpattern=comparisonfilename
...
@@ -392,13 +392,14 @@ testname/platformpattern=comparisonfilename
Therefore, we provide a variant comparison file,
Therefore, we provide a variant comparison file,
<filename>horology-no-DST-before-1970.out</filename>, which includes
<filename>horology-no-DST-before-1970.out</filename>, which includes
the results to be expected on these systems. To silence the bogus
the results to be expected on these systems. To silence the bogus
<quote>failure</quote> message on <systemitem>HP
PA</systemitem> platforms, <filename>resultmap</filename>
<quote>failure</quote> message on <systemitem>HP
UX</systemitem> platforms,
includes
<filename>resultmap</filename>
includes
<programlisting>
<programlisting>
horology/
hppa
=horology-no-DST-before-1970
horology/
.*-hpux
=horology-no-DST-before-1970
</programlisting>
</programlisting>
which will trigger on any machine for which the output of <command>config.guess</command>
which will trigger on any machine for which the output of
begins with <literal>hppa</literal>. Other lines
<command>config.guess</command> includes <literal>-hpux</literal>.
Other lines
in <filename>resultmap</> select the variant comparison file for other
in <filename>resultmap</> select the variant comparison file for other
platforms where it's appropriate.
platforms where it's appropriate.
</para>
</para>
...
...
doc/src/sgml/runtime.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.20
7 2003/09/11 21:42:20 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.20
8 2003/09/12 22:17:23 tgl
Exp $
-->
-->
<Chapter Id="runtime">
<Chapter Id="runtime">
...
@@ -322,9 +322,9 @@ su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgs
...
@@ -322,9 +322,9 @@ su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgs
<para>
<para>
<screen>
<screen>
FATAL: StreamServerPort: bind() failed
: Address already in use
LOG: could not bind IPv4 socket
: Address already in use
Is another postmaster already running on port 5432?
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
If not, wait a few seconds an retry.
FATAL: could not create TCP/IP listen socket
</screen>
</screen>
This usually means just what it suggests: you tried to start
This usually means just what it suggests: you tried to start
another <command>postmaster</command> on the same port where one is already running.
another <command>postmaster</command> on the same port where one is already running.
...
@@ -334,35 +334,36 @@ FATAL: StreamServerPort: bind() failed: Address already in use
...
@@ -334,35 +334,36 @@ FATAL: StreamServerPort: bind() failed: Address already in use
on a reserved port number may draw something like:
on a reserved port number may draw something like:
<screen>
<screen>
$ <userinput>postmaster -i -p 666</userinput>
$ <userinput>postmaster -i -p 666</userinput>
FATAL: StreamServerPort: bind() failed
: Permission denied
LOG: could not bind IPv4 socket
: Permission denied
Is another postmaster already running on port 666?
HINT: Is another postmaster already running on port 666? If not, wait a few seconds and retry.
If not, wait a few seconds an retry.
FATAL: could not create TCP/IP listen socket
</screen>
</screen>
</para>
</para>
<para>
<para>
A message like
A message like
<screen>
<screen>
IpcMemoryCreate: shmget(key=5440001, size=83918612, 01600) failed
: Invalid argument
FATAL: could not create shared memory segment
: Invalid argument
FATAL 1: ShmemCreate: cannot create region
DETAIL: Failed syscall was shmget(key=5440001, size=4011376640, 03600).
</screen>
</screen>
probably means your kernel's limit on the size of shared memory is
probably means your kernel's limit on the size of shared memory is
smaller than the
buffer
area <productname>PostgreSQL</productname>
smaller than the
work
area <productname>PostgreSQL</productname>
is trying to create (
83918612
bytes in this example). Or it could
is trying to create (
4011376640
bytes in this example). Or it could
mean that you do not have System-V-style shared memory support
mean that you do not have System-V-style shared memory support
configured into your kernel at all. As a temporary workaround, you
configured into your kernel at all. As a temporary workaround, you
can try starting the server with a smaller-than-normal number
can try starting the server with a smaller-than-normal number
of buffers (<option>-B</option> switch). You will eventually want
of buffers (<option>-B</option> switch). You will eventually want
to reconfigure your kernel to increase the allowed shared memory
to reconfigure your kernel to increase the allowed shared memory
size. You may also see this message when trying to start multiple
size. You may also see this message when trying to start multiple
servers on the same machine if their total space requested
servers on the same machine
,
if their total space requested
exceeds the kernel limit.
exceeds the kernel limit.
</para>
</para>
<para>
<para>
An error like
An error like
<screen>
<screen>
IpcSemaphoreCreate: semget(key=5440026, num=16, 01600) failed: No space left on device
FATAL: could not create semaphores: No space left on device
DETAIL: Failed syscall was semget(5440126, 17, 03600).
</screen>
</screen>
does <emphasis>not</emphasis> mean you've run out of disk
does <emphasis>not</emphasis> mean you've run out of disk
space. It means your kernel's limit on the number of <systemitem
space. It means your kernel's limit on the number of <systemitem
...
@@ -401,7 +402,7 @@ IpcSemaphoreCreate: semget(key=5440026, num=16, 01600) failed: No space left on
...
@@ -401,7 +402,7 @@ IpcSemaphoreCreate: semget(key=5440026, num=16, 01600) failed: No space left on
<para>
<para>
<screen>
<screen>
psql: could not connect to server: Connection refused
psql: could not connect to server: Connection refused
Is the server running on host
server.joe.com
and accepting
Is the server running on host
"server.joe.com"
and accepting
TCP/IP connections on port 5432?
TCP/IP connections on port 5432?
</screen>
</screen>
This is the generic <quote>I couldn't find a server to talk
This is the generic <quote>I couldn't find a server to talk
...
@@ -414,7 +415,7 @@ psql: could not connect to server: Connection refused
...
@@ -414,7 +415,7 @@ psql: could not connect to server: Connection refused
Alternatively, you'll get this when attempting Unix-domain socket
Alternatively, you'll get this when attempting Unix-domain socket
communication to a local server:
communication to a local server:
<screen>
<screen>
psql: could not connect to server:
Connection refused
psql: could not connect to server:
No such file or directory
Is the server running locally and accepting
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
</screen>
</screen>
...
@@ -546,7 +547,7 @@ SET ENABLE_SEQSCAN TO OFF;
...
@@ -546,7 +547,7 @@ SET ENABLE_SEQSCAN TO OFF;
The virtual table <structname>pg_settings</structname> allows
The virtual table <structname>pg_settings</structname> allows
displaying and updating session run-time parameters. It contains one
displaying and updating session run-time parameters. It contains one
row for each configuration parameter; the columns are shown in
row for each configuration parameter; the columns are shown in
<xref linkend="runtime-pgsettings-table">. This
form
allows the
<xref linkend="runtime-pgsettings-table">. This
table
allows the
configuration data to be joined with other tables and have a
configuration data to be joined with other tables and have a
selection criteria applied.
selection criteria applied.
</para>
</para>
...
@@ -3381,8 +3382,9 @@ default:\
...
@@ -3381,8 +3382,9 @@ default:\
<para>
<para>
There are several ways to shut down the database server. You control
There are several ways to shut down the database server. You control
the type of shutdown by sending different signals to the server
the type of shutdown by sending different signals to the
process.
<command>postmaster</command> process.
<variablelist>
<variablelist>
<varlistentry>
<varlistentry>
<term><systemitem>SIGTERM</systemitem><indexterm><primary>SIGTERM</></></term>
<term><systemitem>SIGTERM</systemitem><indexterm><primary>SIGTERM</></></term>
...
...
doc/src/sgml/start.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.3
1 2003/08/10 01:20:3
4 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.3
2 2003/09/12 22:17:2
4 tgl Exp $
-->
-->
<chapter id="tutorial-start">
<chapter id="tutorial-start">
...
@@ -183,10 +183,10 @@ createdb: command not found
...
@@ -183,10 +183,10 @@ createdb: command not found
<para>
<para>
Another response could be this:
Another response could be this:
<screen>
<screen>
psql: could not connect to server: Connection refused
createdb: could not connect to database template1: could not connect to server:
No such file or directory
Is the server running locally and accepting
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
createdb: database creation failed
</screen>
</screen>
This means that the server was not started, or it was not started
This means that the server was not started, or it was not started
where <command>createdb</command> expected it. Again, check the
where <command>createdb</command> expected it. Again, check the
...
@@ -197,8 +197,7 @@ createdb: database creation failed
...
@@ -197,8 +197,7 @@ createdb: database creation failed
If you do not have the privileges required to create a database,
If you do not have the privileges required to create a database,
you will see the following:
you will see the following:
<screen>
<screen>
ERROR: CREATE DATABASE: permission denied
createdb: database creation failed: ERROR: permission denied to create database
createdb: database creation failed
</screen>
</screen>
Not every user has authorization to create new databases. If
Not every user has authorization to create new databases. If
<productname>PostgreSQL</productname> refuses to create databases
<productname>PostgreSQL</productname> refuses to create databases
...
@@ -358,7 +357,7 @@ mydb=#
...
@@ -358,7 +357,7 @@ mydb=#
<prompt>mydb=></prompt> <userinput>SELECT version();</userinput>
<prompt>mydb=></prompt> <userinput>SELECT version();</userinput>
version
version
----------------------------------------------------------------
----------------------------------------------------------------
PostgreSQL
7.3devel
on i586-pc-linux-gnu, compiled by GCC 2.96
PostgreSQL
&version;
on i586-pc-linux-gnu, compiled by GCC 2.96
(1 row)
(1 row)
<prompt>mydb=></prompt> <userinput>SELECT current_date;</userinput>
<prompt>mydb=></prompt> <userinput>SELECT current_date;</userinput>
...
...
doc/src/sgml/typeconv.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/typeconv.sgml,v 1.3
3 2003/08/31 17:32:20 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/typeconv.sgml,v 1.3
4 2003/09/12 22:17:24 tgl
Exp $
-->
-->
<chapter Id="typeconv">
<chapter Id="typeconv">
...
@@ -434,7 +434,7 @@ not some other type was used:
...
@@ -434,7 +434,7 @@ not some other type was used:
<screen>
<screen>
SELECT @ '-4.5e500' AS "abs";
SELECT @ '-4.5e500' AS "abs";
ERROR:
Input '-4.5e500'
is out of range for float8
ERROR:
"-4.5e500"
is out of range for float8
</screen>
</screen>
</para>
</para>
...
@@ -445,8 +445,9 @@ try a similar case with <literal>!</>, we get:
...
@@ -445,8 +445,9 @@ try a similar case with <literal>!</>, we get:
<screen>
<screen>
SELECT '20' ! AS "factorial";
SELECT '20' ! AS "factorial";
ERROR: Unable to identify a postfix operator '!' for type 'text'
ERROR: operator is not unique: "unknown" !
You may need to add parentheses or an explicit cast
HINT: Could not choose a best candidate operator. You may need to add explicit
typecasts.
</screen>
</screen>
This happens because the system can't decide which of the several
This happens because the system can't decide which of the several
possible <literal>!</> operators should be preferred. We can help
possible <literal>!</> operators should be preferred. We can help
...
...
doc/src/sgml/xfunc.sgml
View file @
6e591224
<!--
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.7
4 2003/09/11 21:42:20 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.7
5 2003/09/12 22:17:24 tgl
Exp $
-->
-->
<sect1 id="xfunc">
<sect1 id="xfunc">
...
@@ -272,7 +272,14 @@ SELECT name, double_salary(emp) AS dream
...
@@ -272,7 +272,14 @@ SELECT name, double_salary(emp) AS dream
Notice the use of the syntax <literal>$1.salary</literal>
Notice the use of the syntax <literal>$1.salary</literal>
to select one field of the argument row value. Also notice
to select one field of the argument row value. Also notice
how the calling <command>SELECT</> command uses a table name to denote
how the calling <command>SELECT</> command uses a table name to denote
the entire current row of that table as a composite value.
the entire current row of that table as a composite value. The table
row can alternatively be referenced like this:
<screen>
SELECT name, double_salary(emp.*) AS dream
FROM emp
WHERE emp.cubicle ~= point '(2,1)';
</screen>
which emphasizes its row nature.
</para>
</para>
<para>
<para>
...
...
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