diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml index e6f54b675ace4a67322659e7ebdfeb6209b99cea..bbc0a07f5601b0758c0e80bf124953007dc344d6 100644 --- a/doc/src/sgml/array.sgml +++ b/doc/src/sgml/array.sgml @@ -56,16 +56,12 @@ INSERT INTO SAL_EMP whose pay changed in the second quarter: <ProgramListing> -SELECT name - FROM SAL_EMP - WHERE SAL_EMP.pay_by_quarter[1] <> - SAL_EMP.pay_by_quarter[2]; +SELECT name FROM sal_emp WHERE pay_by_quarter[1] <> pay_by_quarter[2]; -+------+ -|name | -+------+ -|Carol | -+------+ + name +------- + Carol +(1 row) </ProgramListing> </Para> @@ -74,16 +70,13 @@ SELECT name employees: <ProgramListing> -SELECT SAL_EMP.pay_by_quarter[3] FROM SAL_EMP; +SELECT pay_by_quarter[3] FROM sal_emp; - -+---------------+ -|pay_by_quarter | -+---------------+ -|10000 | -+---------------+ -|25000 | -+---------------+ + pay_by_quarter +---------------- + 10000 + 25000 +(2 rows) </ProgramListing> </Para> @@ -93,15 +86,12 @@ SELECT SAL_EMP.pay_by_quarter[3] FROM SAL_EMP; Bill's schedule for the first two days of the week. <ProgramListing> -SELECT SAL_EMP.schedule[1:2][1:1] - FROM SAL_EMP - WHERE SAL_EMP.name = 'Bill'; +SELECT schedule[1:2][1:1] FROM sal_emp WHERE name = 'Bill'; -+-------------------+ -|schedule | -+-------------------+ -|{{"meeting"},{""}} | -+-------------------+ + schedule +-------------------- + {{"meeting"},{""}} +(1 row) </ProgramListing> </Para> diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 1bd7d6125cdbb89a839c6f7c5bcddf40a8ea22ad..1199b20b6a4eed1e21904a58e514a44275dfef43 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -939,7 +939,7 @@ CREATE TABLE <replaceable class="parameter">tablename</replaceable> (<replaceabl <entry>ISO-8601</entry> </row> <row> - <entry>040506-08/entry> + <entry>040506-08</entry> <entry>ISO-8601</entry> </row> </tbody> diff --git a/doc/src/sgml/inherit.sgml b/doc/src/sgml/inherit.sgml index 0593da09155579ce5ad08dab0c865e8bad5f5ca5..0a49df2c510ae3507e48dc89f28b7ac3f4fa7ad6 100644 --- a/doc/src/sgml/inherit.sgml +++ b/doc/src/sgml/inherit.sgml @@ -6,7 +6,7 @@ state capitals which are also cities. Naturally, the capitals class should inherit from cities. - <programlisting> +<programlisting> CREATE TABLE cities ( name text, population float, @@ -16,7 +16,7 @@ CREATE TABLE cities ( CREATE TABLE capitals ( state char(2) ) INHERITS (cities); - </programlisting> +</programlisting> In this case, an instance of capitals <firstterm>inherits</firstterm> all attributes (name, population, and altitude) from its @@ -40,19 +40,17 @@ CREATE TABLE capitals ( For example, the following query finds all the cities that are situated at an attitude of 500ft or higher: - <programlisting> +<programlisting> SELECT name, altitude FROM cities WHERE altitude > 500; -+----------+----------+ -|name | altitude | -+----------+----------+ -|Las Vegas | 2174 | -+----------+----------+ -|Mariposa | 1953 | -+----------+----------+ - </programlisting> + name | altitude +-----------+---------- + Las Vegas | 2174 + Mariposa | 1953 +(2 rows) +</programlisting> </para> <para> @@ -60,25 +58,21 @@ SELECT name, altitude including state capitals, that are located at an altitude over 500ft, the query is: - <programlisting> +<programlisting> SELECT c.name, c.altitude FROM cities* c WHERE c.altitude > 500; - </programlisting> +</programlisting> which returns: - <programlisting> -+----------+----------+ -|name | altitude | -+----------+----------+ -|Las Vegas | 2174 | -+----------+----------+ -|Mariposa | 1953 | -+----------+----------+ -|Madison | 845 | -+----------+----------+ - </programlisting> +<programlisting> + name | altitude +-----------+---------- + Las Vegas | 2174 + Mariposa | 1953 + Madison | 845 +</programlisting> Here the <quote>*</quote> after cities indicates that the query should be run over cities and all classes below cities in the diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml index 6f62234313c751775dee9165260e8607bf96b1df..6b66ff6d14cfe99252ee1653b48fa382f774cfb2 100644 --- a/doc/src/sgml/manage-ag.sgml +++ b/doc/src/sgml/manage-ag.sgml @@ -65,22 +65,23 @@ to try out the examples in this manual. It can be activated for the <replaceable class="parameter">dbname</replaceable> database by typing the command: - <programlisting> -% psql <replaceable class="parameter">dbname</replaceable> - </programlisting> +<programlisting> +psql <replaceable class="parameter">dbname</replaceable> +</programlisting> You will be greeted with the following message: - <programlisting> -Welcome to the Postgres interactive sql monitor: +<programlisting> +Welcome to psql, the PostgreSQL interactive terminal. - type \? for help on slash commands - type \q to quit - type \g or terminate with semicolon to execute query -You are currently connected to the database: <replaceable>dbname</replaceable> +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help on internal slash commands + \g or terminate with semicolon to execute query + \q to quit <replaceable>dbname</replaceable>=> - </programlisting> +</programlisting> </para> <para> diff --git a/doc/src/sgml/manage.sgml b/doc/src/sgml/manage.sgml index d4acd9d7bd39075e966d7edbdfcfc9127ab807b4..c2d44e546f7b4b5067988d312bc2caf0dcdcab5c 100644 --- a/doc/src/sgml/manage.sgml +++ b/doc/src/sgml/manage.sgml @@ -43,24 +43,22 @@ <Para> To create a new database named <Quote>mydb</Quote> from the command line, type - <ProgramListing> +<ProgramListing> % createdb mydb - </ProgramListing> +</ProgramListing> and to do the same from within <Application>psql</Application> type - <ProgramListing> -* CREATE DATABASE mydb; - </ProgramListing> +<ProgramListing> +=> CREATE DATABASE mydb; +</ProgramListing> </Para> <Para> If you do not have the privileges required to create a database, you will see the following: - <ProgramListing> -% createdb mydb -WARN:user "your username" is not allowed to create/destroy databases -createdb: database creation failed on mydb. - </ProgramListing> +<ProgramListing> +ERROR: CREATE DATABASE: Permission denied. +</ProgramListing> </Para> <Para> @@ -123,45 +121,41 @@ createdb: database creation failed on mydb. ensure that <FileName>/alt/postgres</FileName> already exists and is writable by the Postgres administrator account. Then, from the command line, type - <ProgramListing> -% initlocation $PGDATA2 +<ProgramListing> +% initlocation PGDATA2 Creating Postgres database system directory /alt/postgres/data Creating Postgres database system directory /alt/postgres/data/base - </ProgramListing> +</ProgramListing> </Para> <Para> To create a database in the alternate storage area <envar>PGDATA2</envar> from the command line, use the following command: - <ProgramListing> +<ProgramListing> % createdb -D PGDATA2 mydb - </ProgramListing> +</ProgramListing> and to do the same from within <Application>psql</Application> type - <ProgramListing> -* CREATE DATABASE mydb WITH LOCATION = 'PGDATA2'; - </ProgramListing> +<ProgramListing> +=> CREATE DATABASE mydb WITH LOCATION = 'PGDATA2'; +</ProgramListing> </Para> <Para> If you do not have the privileges required to create a database, you will see the following: - <ProgramListing> -% createdb mydb -WARN:user "your username" is not allowed to create/destroy databases -createdb: database creation failed on mydb. - </ProgramListing> +<ProgramListing> +ERROR: CREATE DATABASE: permission denied +</ProgramListing> </Para> <Para> If the specified location does not exist or the database backend does not have permission to access it or to write to directories under it, you will see the following: - <ProgramListing> -% createdb -D /alt/postgres/data mydb -ERROR: Unable to create database directory /alt/postgres/data/base/mydb -createdb: database creation failed on mydb. - </ProgramListing> +<ProgramListing> +ERROR: The database path '/no/where' is invalid. This may be due to a character that is not allowed or because the chosen path isn't permitted for databases. +</ProgramListing> </Para> </Sect1> @@ -176,9 +170,9 @@ createdb: database creation failed on mydb. <ItemizedList Mark="bullet" Spacing="compact"> <ListItem> <Para> -running the <ProductName>Postgres</ProductName> terminal monitor programs (e.g. - <Application>psql</Application>) which allows you to interactively - enter, edit, and execute <Acronym>SQL</Acronym> commands. +running the <ProductName>PostgreSQL</ProductName> interactive terminal +<Application>psql</Application> which allows you to interactively +enter, edit, and execute <Acronym>SQL</Acronym> commands. </Para> </ListItem> <ListItem> @@ -202,26 +196,26 @@ to try out the examples in this manual. You will be greeted with the following message: <ProgramListing> -Welcome to the POSTGRESQL interactive sql monitor: - Please read the file COPYRIGHT for copyright terms of POSTGRESQL - - type \? for help on slash commands - type \q to quit - type \g or terminate with semicolon to execute query - You are currently connected to the database: template1 +Welcome to psql, the PostgreSQL interactive terminal. + +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help on internal slash commands + \g or terminate with semicolon to execute query + \q to quit mydb=> </ProgramListing> </Para> <Para> -This prompt indicates that the terminal monitor is listening +This prompt indicates that psql is listening to you and that you can type <Acronym>SQL</Acronym> queries into a workspace maintained by the terminal monitor. The <Application>psql</Application> program responds to escape codes that begin with the backslash character, <Quote>\</Quote> For example, you can get help on the syntax of various - <ProductName>Postgres</ProductName> <Acronym>SQL</Acronym> commands by typing: + <ProductName>PostgreSQL</ProductName> <Acronym>SQL</Acronym> commands by typing: <ProgramListing> mydb=> \h </ProgramListing> @@ -249,7 +243,7 @@ mydb=> \q </ProgramListing> and <Application>psql</Application> will quit and return you to your command - shell. (For more escape codes, type <Command>\h</Command> at the monitor + shell. (For more escape codes, type <Command>\?</Command> at the psql prompt.) White space (i.e., spaces, tabs and newlines) may be used freely in <Acronym>SQL</Acronym> queries. Single-line comments are denoted by @@ -280,14 +274,14 @@ TBD <Title>Destroying a Database</Title> <Para> - If you are the database administrator for the database + If you are the owner of the database <Database>mydb</Database>, you can destroy it using the following Unix command: <ProgramListing> % dropdb mydb </ProgramListing> - This action physically removes all of the Unix files + This action physically removes all of the Unix files associated with the database and cannot be undone, so - this should only be done with a great deal of forethought. + this should only be done with a great deal of forethought. </Para> </Sect1> diff --git a/doc/src/sgml/ref/abort.sgml b/doc/src/sgml/ref/abort.sgml index c31fcb2acbf8d0c4a4127c777c256df2b4e058cb..062e660332279b87b8e952e8d1b9f0b34ca5f5d2 100644 --- a/doc/src/sgml/ref/abort.sgml +++ b/doc/src/sgml/ref/abort.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/abort.sgml,v 1.5 2000/01/29 16:58:27 petere Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/abort.sgml,v 1.6 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -63,7 +63,6 @@ ROLLBACK <varlistentry> <term><computeroutput> NOTICE: ROLLBACK: no transaction in progress -ROLLBACK </computeroutput></term> <listitem> <para> diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml index 5dc6dca9bceb4f5333ad31e7daf9e27667d9a712..c8de74eee51f1a74d50554c0bca398647b3b199d 100644 --- a/doc/src/sgml/ref/create_database.sgml +++ b/doc/src/sgml/ref/create_database.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.11 1999/12/12 05:15:09 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.12 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -245,13 +245,15 @@ comment from Olly; response from Thomas... <computeroutput>Creating Postgres database system directory /home/olly/private_db/base</computeroutput> <prompt>$</prompt> <userinput>psql olly</userinput> -<computeroutput>Welcome to psql, the PostgreSQL interactive terminal. -(Please type \copyright to see the distribution terms of PostgreSQL.) +<computeroutput> +Welcome to psql, the PostgreSQL interactive terminal. -Type \h for help with SQL commands, - \? for help on internal slash commands, - \q to quit, - \g or terminate with semicolon to execute query. +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help on internal slash commands + \g or terminate with semicolon to execute query + \q to quit + <prompt>olly=></prompt></computeroutput> <userinput>CREATE DATABASE elsewhere WITH LOCATION = '/home/olly/private_db';</userinput> <computeroutput>CREATE DATABASE</computeroutput> </programlisting> @@ -272,7 +274,7 @@ Type \h for help with SQL commands, </title> <para> There is no <command>CREATE DATABASE</command> statement in SQL92. - The equivalent command in standard SQL is <command>CREATE SCHEMA</command>. + Databases are equivalent to catalogs whose creation is implementation-defined. </para> </refsect2> </refsect1> diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml index 3fb87b57f83b0e701bc4cc6a973b2164a1b4eab9..3333171319bbc5c4ea8b6ec42a6f78d6f112ce42 100644 --- a/doc/src/sgml/ref/create_function.sgml +++ b/doc/src/sgml/ref/create_function.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.11 1999/10/02 21:27:49 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.12 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -242,18 +242,18 @@ CREATE <para> To create a simple SQL function: - <programlisting> +<programlisting> CREATE FUNCTION one() RETURNS int4 AS 'SELECT 1 AS RESULT' LANGUAGE 'sql'; SELECT one() AS answer; - <computeroutput> - answer - ------ - 1 - </computeroutput> - </programlisting> +<computeroutput> + answer +-------- + 1 +</computeroutput> +</programlisting> </para> <para> diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml index 7cdb40382567b5a43cecd0fa23aef7fb2a298d47..580490b3570be017f9f05464d983b046066df130 100644 --- a/doc/src/sgml/ref/create_language.sgml +++ b/doc/src/sgml/ref/create_language.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.8 1999/07/22 15:09:07 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.9 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -231,24 +231,24 @@ ERROR: PL handler function <replaceable class="parameter">funcname</replaceable <para> Refer to the table <filename>pg_language</filename> for further information: - <programlisting> - <computeroutput> -Table = pg_language -+--------------------------+--------------------------+-------+ -| Field | Type | Length| -+--------------------------+--------------------------+-------+ -| lanname | name | 32 | -| lancompiler | text | var | -+--------------------------+--------------------------+-------+ +<programlisting> +<computeroutput> + Table "pg_language" + Attribute | Type | Modifier +---------------+---------+---------- + lanname | name | + lanispl | boolean | + lanpltrusted | boolean | + lanplcallfoid | oid | + lancompiler | text | -lanname |lancompiler ---------+-------------- -internal|n/a -lisp |/usr/ucb/liszt -C |/bin/cc -sql |postgres - </computeroutput> - </programlisting> + lanname | lanispl | lanpltrusted | lanplcallfoid | lancompiler +----------+---------+--------------+---------------+------------- + internal | f | f | 0 | n/a + C | f | f | 0 | /bin/cc + sql | f | f | 0 | postgres +</computeroutput> +</programlisting> </para> <para> diff --git a/doc/src/sgml/ref/create_view.sgml b/doc/src/sgml/ref/create_view.sgml index dbfdc5261a2dbaaa3de1041725193bd5de42294e..aa25b0746db0d4534b99e6ff4b3e436ddeaa61be 100644 --- a/doc/src/sgml/ref/create_view.sgml +++ b/doc/src/sgml/ref/create_view.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_view.sgml,v 1.7 1999/07/22 15:09:08 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_view.sgml,v 1.8 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -160,10 +160,11 @@ CREATE VIEW kinds AS SELECT * FROM kinds; -code |title |did| date_prod|kind |len ------+-------------------------+---+----------+----------+------ -UA502|Bananas |105|1971-07-13|Comedy | 01:22 -C_701|There's a Girl in my Soup|107|1970-06-11|Comedy | 01:36 + code | title | did | date_prod | kind | len +-------+---------------------------+-----+------------+--------+------- + UA502 | Bananas | 105 | 1971-07-13 | Comedy | 01:22 + C_701 | There's a Girl in my Soup | 107 | 1970-06-11 | Comedy | 01:36 +(2 rows) </programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/delete.sgml b/doc/src/sgml/ref/delete.sgml index c27a4b9a0133c1bb3f57783ea884d474d5a31a1b..f53b87280df33be1bc0c0aee3380d586b59366e0 100644 --- a/doc/src/sgml/ref/delete.sgml +++ b/doc/src/sgml/ref/delete.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/delete.sgml,v 1.9 1999/10/04 04:37:46 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/delete.sgml,v 1.10 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -131,33 +131,33 @@ DELETE <replaceable class="parameter">count</replaceable> </title> <para> Remove all films but musicals: - <programlisting> +<programlisting> DELETE FROM films WHERE kind <> 'Musical'; SELECT * FROM films; - <computeroutput> -code |title |did| date_prod|kind |len ------+-------------------------+---+----------+----------+------ -UA501|West Side Story |105|1961-01-03|Musical | 02:32 -TC901|The King and I |109|1956-08-11|Musical | 02:13 -WD101|Bed Knobs and Broomsticks|111| |Musical | 01:57 +<computeroutput> + code | title | did | date_prod | kind | len +-------+---------------------------+-----+------------+---------+------- + UA501 | West Side Story | 105 | 1961-01-03 | Musical | 02:32 + TC901 | The King and I | 109 | 1956-08-11 | Musical | 02:13 + WD101 | Bed Knobs and Broomsticks | 111 | | Musical | 01:57 (3 rows) - </computeroutput> - </programlisting> +</computeroutput> +</programlisting> </para> <para> Clear the table <literal>films</literal>: - <programlisting> +<programlisting> DELETE FROM films; SELECT * FROM films; - <computeroutput> -code|title|did|date_prod|kind|len -----+-----+---+---------+----+--- +<computeroutput> + code | title | did | date_prod | kind | len +------+-------+-----+-----------+------+----- (0 rows) - </computeroutput> - </programlisting> +</computeroutput> +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/fetch.sgml b/doc/src/sgml/ref/fetch.sgml index db072d9f5fa06a1b431552337a067caa6ad2644c..1fa025361e03b64e9b060e64f12b6b32f763f465 100644 --- a/doc/src/sgml/ref/fetch.sgml +++ b/doc/src/sgml/ref/fetch.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/fetch.sgml,v 1.7 1999/07/22 15:09:12 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/fetch.sgml,v 1.8 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -299,42 +299,39 @@ FETCH RELATIVE 0 FROM <replaceable class="PARAMETER">cursor</replaceable> <para> The following examples traverses a table using a cursor. - <programlisting> - --set up and use a cursor: - -- - BEGIN WORK; - DECLARE liahona CURSOR - FOR SELECT * FROM films; - - --Fetch first 5 rows in the cursor liahona: - -- - FETCH FORWARD 5 IN liahona; - - <computeroutput> - code |title |did| date_prod|kind |len - -----+-----------------------+---+----------+----------+------ - BL101|The Third Man |101|1949-12-23|Drama | 01:44 - BL102|The African Queen |101|1951-08-11|Romantic | 01:43 - JL201|Une Femme est une Femme|102|1961-03-12|Romantic | 01:25 - P_301|Vertigo |103|1958-11-14|Action | 02:08 - P_302|Becket |103|1964-02-03|Drama | 02:28 - </computeroutput> - - --Fetch previous row: - -- - FETCH BACKWARD 1 IN liahona; - - <computeroutput> - code |title |did| date_prod|kind |len - -----+-----------------------+---+----------+----------+------ - P_301|Vertigo |103|1958-11-14|Action | 02:08 - </computeroutput> - - -- close the cursor and commit work: - -- - CLOSE liahona; - COMMIT WORK; - </programlisting> +<programlisting> +-- set up and use a cursor: + +BEGIN WORK; +DECLARE liahona CURSOR FOR SELECT * FROM films; + +-- Fetch first 5 rows in the cursor liahona: +FETCH FORWARD 5 IN liahona; + +<computeroutput> + code | title | did | date_prod | kind | len +-------+-------------------------+-----+------------+----------+------- + BL101 | The Third Man | 101 | 1949-12-23 | Drama | 01:44 + BL102 | The African Queen | 101 | 1951-08-11 | Romantic | 01:43 + JL201 | Une Femme est une Femme | 102 | 1961-03-12 | Romantic | 01:25 + P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 + P_302 | Becket | 103 | 1964-02-03 | Drama | 02:28 +</computeroutput> + +-- Fetch previous row: +FETCH BACKWARD 1 IN liahona; + +<computeroutput> + code | title | did | date_prod | kind | len +-------+---------+-----+------------+--------+------- + P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08 +</computeroutput> + +-- close the cursor and commit work: + +CLOSE liahona; +COMMIT WORK; +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/initlocation.sgml b/doc/src/sgml/ref/initlocation.sgml index 2a1234986635982b89d5eef2fb7f83a35a57d018..e5228e8138b3bda39701ec93bad544f1c4e4154b 100644 --- a/doc/src/sgml/ref/initlocation.sgml +++ b/doc/src/sgml/ref/initlocation.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.5 2000/01/18 00:03:34 petere Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.6 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -96,7 +96,7 @@ initlocation <replaceable class="parameter">directory</replaceable> <programlisting> $ export PGDATA2=/opt/postgres/data $ initlocation PGDATA2 -$ createdb 'testdb' -D 'PGDATA2/testdb' +$ createdb 'testdb' -D 'PGDATA2' </programlisting> </para> @@ -104,7 +104,7 @@ $ createdb 'testdb' -D 'PGDATA2/testdb' Alternatively, if you allow absolute paths you could write: <programlisting> $ initlocation /opt/postgres/data -$ createdb 'testdb' -D '/opt/postgres/data/testdb' +$ createdb testdb -D '/opt/postgres/data/testdb' </programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/listen.sgml b/doc/src/sgml/ref/listen.sgml index b03ea67808f9f4e5308f48660a0aa11dcec1bdc0..4908ab44ab98b140cd1aebfd7c1315a82aa137ee 100644 --- a/doc/src/sgml/ref/listen.sgml +++ b/doc/src/sgml/ref/listen.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/listen.sgml,v 1.7 1999/07/22 15:09:12 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/listen.sgml,v 1.8 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -166,12 +166,12 @@ NOTICE Async_Listen: We are already listening on <replaceable class="PARAMETER"> </title> <para> Configure and execute a listen/notify sequence from <application>psql</application>: - <programlisting> +<programlisting> LISTEN virtual; NOTIFY virtual; -ASYNC NOTIFY of 'virtual' from backend pid '11239' received - </programlisting> +Asynchronous NOTIFY 'virtual' from backend with pid '8448' received. +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/move.sgml b/doc/src/sgml/ref/move.sgml index eeb74bd9aaedeab4e2e97ffe90fd18cc75669258..8e6a3b014db569101e3f022a0ff3f4a64af7352e 100644 --- a/doc/src/sgml/ref/move.sgml +++ b/doc/src/sgml/ref/move.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/move.sgml,v 1.6 1999/07/22 15:09:13 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/move.sgml,v 1.7 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -86,28 +86,28 @@ MOVE [ <replaceable class="PARAMETER">selector</replaceable> ] [ <replaceable cl <para> Set up and use a cursor: - <programlisting> +<programlisting> BEGIN WORK; DECLARE liahona CURSOR FOR SELECT * FROM films; ---Skip first 5 rows: +-- Skip first 5 rows: MOVE FORWARD 5 IN liahona; <computeroutput> MOVE </computeroutput> ---Fetch 6th row in the cursor liahona: +-- Fetch 6th row in the cursor liahona: FETCH 1 IN liahona; <computeroutput> FETCH - code |title |did| date_prod|kind |len - -----+------+---+----------+----------+------ - P_303|48 Hrs|103|1982-10-22|Action | 01:37 - (1 row) + code | title | did | date_prod | kind | len +-------+--------+-----+-----------+--------+------- + P_303 | 48 Hrs | 103 | 1982-10-22| Action | 01:37 +(1 row) </computeroutput> -- close the cursor liahona and commit work: CLOSE liahona; COMMIT WORK; - </programlisting> +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/notify.sgml b/doc/src/sgml/ref/notify.sgml index 91dc5f4a10017ceebb9cafb6404d0827e4b6e5ff..eb506985748f98e9fcc6ebb9695dcc61d75f2d43 100644 --- a/doc/src/sgml/ref/notify.sgml +++ b/doc/src/sgml/ref/notify.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/notify.sgml,v 1.10 1999/07/22 15:09:13 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/notify.sgml,v 1.11 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -208,11 +208,11 @@ NOTIFY Configure and execute a listen/notify sequence from <application>psql</application>: - <programlisting> -LISTEN virtual; -NOTIFY virtual; -ASYNC NOTIFY of 'virtual' from backend pid '11239' received - </programlisting> +<programlisting> +=> LISTEN virtual; +=> NOTIFY virtual; +Asynchronous NOTIFY 'virtual' from backend with pid '8448' received. +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index c88d9b54f920ecc113f4a40fd38991eab2012f2a..2aa6b8369b3d98355441eee8354562507d1e74f4 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.26 2000/03/15 23:31:19 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.27 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -609,43 +609,45 @@ SELECT f.title, f.did, d.name, f.date_prod, f.kind FROM distributors d, films f WHERE f.did = d.did -title |did|name | date_prod|kind --------------------------+---+----------------+----------+---------- -The Third Man |101|British Lion |1949-12-23|Drama -The African Queen |101|British Lion |1951-08-11|Romantic -Une Femme est une Femme |102|Jean Luc Godard |1961-03-12|Romantic -Vertigo |103|Paramount |1958-11-14|Action -Becket |103|Paramount |1964-02-03|Drama -48 Hrs |103|Paramount |1982-10-22|Action -War and Peace |104|Mosfilm |1967-02-12|Drama -West Side Story |105|United Artists |1961-01-03|Musical -Bananas |105|United Artists |1971-07-13|Comedy -Yojimbo |106|Toho |1961-06-16|Drama -There's a Girl in my Soup|107|Columbia |1970-06-11|Comedy -Taxi Driver |107|Columbia |1975-05-15|Action -Absence of Malice |107|Columbia |1981-11-15|Action -Storia di una donna |108|Westward |1970-08-15|Romantic -The King and I |109|20th Century Fox|1956-08-11|Musical -Das Boot |110|Bavaria Atelier |1981-11-11|Drama -Bed Knobs and Broomsticks|111|Walt Disney | |Musical - </programlisting> + title | did | name | date_prod | kind +---------------------------+-----+------------------+------------+---------- + The Third Man | 101 | British Lion | 1949-12-23 | Drama + The African Queen | 101 | British Lion | 1951-08-11 | Romantic + Une Femme est une Femme | 102 | Jean Luc Godard | 1961-03-12 | Romantic + Vertigo | 103 | Paramount | 1958-11-14 | Action + Becket | 103 | Paramount | 1964-02-03 | Drama + 48 Hrs | 103 | Paramount | 1982-10-22 | Action + War and Peace | 104 | Mosfilm | 1967-02-12 | Drama + West Side Story | 105 | United Artists | 1961-01-03 | Musical + Bananas | 105 | United Artists | 1971-07-13 | Comedy + Yojimbo | 106 | Toho | 1961-06-16 | Drama + There's a Girl in my Soup | 107 | Columbia | 1970-06-11 | Comedy + Taxi Driver | 107 | Columbia | 1975-05-15 | Action + Absence of Malice | 107 | Columbia | 1981-11-15 | Action + Storia di una donna | 108 | Westward | 1970-08-15 | Romantic + The King and I | 109 | 20th Century Fox | 1956-08-11 | Musical + Das Boot | 110 | Bavaria Atelier | 1981-11-11 | Drama + Bed Knobs and Broomsticks | 111 | Walt Disney | | Musical +(17 rows) +</programlisting> </para> <para> To sum the column <literal>len</literal> of all films and group the results by <literal>kind</literal>: - <programlisting> +<programlisting> SELECT kind, SUM(len) AS total FROM films GROUP BY kind; - kind |total - ----------+------ - Action | 07:34 - Comedy | 02:58 - Drama | 14:28 - Musical | 06:42 - Romantic | 04:38 - </programlisting> + kind | total +----------+------- + Action | 07:34 + Comedy | 02:58 + Drama | 14:28 + Musical | 06:42 + Romantic | 04:38 +(5 rows) +</programlisting> </para> <para> @@ -653,17 +655,18 @@ SELECT kind, SUM(len) AS total FROM films GROUP BY kind; the results by <literal>kind</literal> and show those group totals that are less than 5 hours: - <programlisting> +<programlisting> SELECT kind, SUM(len) AS total FROM films GROUP BY kind HAVING SUM(len) < INTERVAL '5 hour'; - kind |total - ----------+------ - Comedy | 02:58 - Romantic | 04:38 - </programlisting> + kind | total +----------+------- + Comedy | 02:58 + Romantic | 04:38 +(2 rows) +</programlisting> </para> <para> @@ -675,22 +678,23 @@ SELECT kind, SUM(len) AS total SELECT * FROM distributors ORDER BY name; SELECT * FROM distributors ORDER BY 2; - did|name - ---+---------------- - 109|20th Century Fox - 110|Bavaria Atelier - 101|British Lion - 107|Columbia - 102|Jean Luc Godard - 113|Luso films - 104|Mosfilm - 103|Paramount - 106|Toho - 105|United Artists - 111|Walt Disney - 112|Warner Bros. - 108|Westward - </programlisting> + did | name +-----+------------------ + 109 | 20th Century Fox + 110 | Bavaria Atelier + 101 | British Lion + 107 | Columbia + 102 | Jean Luc Godard + 113 | Luso films + 104 | Mosfilm + 103 | Paramount + 106 | Toho + 105 | United Artists + 111 | Walt Disney + 112 | Warner Bros. + 108 | Westward +(13 rows) +</programlisting> </para> <para> @@ -700,14 +704,14 @@ SELECT * FROM distributors ORDER BY 2; with letter W in each table. Only distinct rows are wanted, so the ALL keyword is omitted: - <programlisting> - -- distributors: actors: - -- did|name id|name - -- ---+------------ --+-------------- - -- 108|Westward 1|Woody Allen - -- 111|Walt Disney 2|Warren Beatty - -- 112|Warner Bros. 3|Walter Matthau - -- ... ... +<programlisting> +distributors: actors: + did | name id | name +-----+-------------- ----+---------------- + 108 | Westward 1 | Woody Allen + 111 | Walt Disney 2 | Warren Beatty + 112 | Warner Bros. 3 | Walter Matthau + ... ... SELECT distributors.name FROM distributors @@ -717,15 +721,15 @@ SELECT actors.name FROM actors WHERE actors.name LIKE 'W%' -name --------------- -Walt Disney -Walter Matthau -Warner Bros. -Warren Beatty -Westward -Woody Allen - </programlisting> + name +---------------- + Walt Disney + Walter Matthau + Warner Bros. + Warren Beatty + Westward + Woody Allen +</programlisting> </para> </refsect1> @@ -749,9 +753,9 @@ was retained from the original PostQuel query language: <programlisting> SELECT distributors.* WHERE name = 'Westwood'; - did|name - ---+---------------- - 108|Westward + did | name +-----+---------- + 108 | Westward </programlisting> </para> </refsect2> diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml index cd6265eed6a7cad2c4ee9b9f5c8d7f43e62593df..b02440ecf53e49bb18983190c29f996e8a7b9cd0 100644 --- a/doc/src/sgml/ref/set.sgml +++ b/doc/src/sgml/ref/set.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.32 2000/03/17 05:29:03 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.33 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -905,25 +905,25 @@ SET GEQO = DEFAULT; Set the timezone for Berkeley, California: - <programlisting> +<programlisting> SET TIME ZONE 'PST8PDT'; SELECT CURRENT_TIMESTAMP AS today; - today - ---------------------- - 1998-03-31 07:41:21-08 - </programlisting> + today +------------------------ + 1998-03-31 07:41:21-08 +</programlisting> - Set the timezone for Italy: +Set the timezone for Italy: - <programlisting> +<programlisting> SET TIME ZONE 'Europe/Rome'; SELECT CURRENT_TIMESTAMP AS today; - today - ---------------------- - 1998-03-31 17:41:31+02 - </programlisting> + today +------------------------ + 1998-03-31 17:41:31+02 +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/unlisten.sgml b/doc/src/sgml/ref/unlisten.sgml index d872dd98a0ed7973be186e2d024037088192be47..76bd4f805a532d222da7ff9d95c9ca57b9053f4f 100644 --- a/doc/src/sgml/ref/unlisten.sgml +++ b/doc/src/sgml/ref/unlisten.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/unlisten.sgml,v 1.8 1999/07/22 15:09:15 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/unlisten.sgml,v 1.9 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -142,26 +142,26 @@ UNLISTEN { <replaceable class="PARAMETER">notifyname</replaceable> | * } <para> To subscribe to an existing registration: - <programlisting> +<programlisting> postgres=> LISTEN virtual; LISTEN postgres=> NOTIFY virtual; NOTIFY -ASYNC NOTIFY of 'virtual' from backend pid '12317' received - </programlisting> +Asynchronous NOTIFY 'virtual' from backend with pid '8448' received +</programlisting> </para> <para> Once UNLISTEN has been executed, further NOTIFY commands will be ignored: - <programlisting> +<programlisting> postgres=> UNLISTEN virtual; UNLISTEN postgres=> NOTIFY virtual; NOTIFY -- notice no NOTIFY event is received - </programlisting> +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/ref/update.sgml b/doc/src/sgml/ref/update.sgml index 7c33e31e37f566402e23a069941e504f88ed5bfe..8f4858de3bd7064162cdf9e9b06955016c816141 100644 --- a/doc/src/sgml/ref/update.sgml +++ b/doc/src/sgml/ref/update.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/update.sgml,v 1.7 2000/01/29 16:58:27 petere Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/update.sgml,v 1.8 2000/03/26 18:32:27 petere Exp $ Postgres documentation --> @@ -150,20 +150,18 @@ UPDATE <replaceable class="parameter">#</replaceable> <para> Change word "Drama" with "Dramatic" on column kind: - <programlisting> -UPDATE films - SET kind = 'Dramatic' - WHERE kind = 'Drama'; +<programlisting> +UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama'; - code |title |did| date_prod|kind |len - -----+-------------+---+----------+----------+------ - BL101|The Third Man|101|1949-12-23|Dramatic | 01:44 - P_302|Becket |103|1964-02-03|Dramatic | 02:28 - M_401|War and Peace|104|1967-02-12|Dramatic | 05:57 - T_601|Yojimbo |106|1961-06-16|Dramatic | 01:50 - DA101|Das Boot |110|1981-11-11|Dramatic | 02:29 - </programlisting> + code | title | did | date_prod | kind | len +-------+---------------+-----+------------+----------+------- + BL101 | The Third Man | 101 | 1949-12-23 | Dramatic | 01:44 + P_302 | Becket | 103 | 1964-02-03 | Dramatic | 02:28 + M_401 | War and Peace | 104 | 1967-02-12 | Dramatic | 05:57 + T_601 | Yojimbo | 106 | 1961-06-16 | Dramatic | 01:50 + DA101 | Das Boot | 110 | 1981-11-11 | Dramatic | 02:29 +</programlisting> </para> </refsect1> diff --git a/doc/src/sgml/typeconv.sgml b/doc/src/sgml/typeconv.sgml index 12388f4339085b9544f9f7838eabbf1997cc2d3b..eda42522cccc58b926ca21aa548a883f0d8d3a09 100644 --- a/doc/src/sgml/typeconv.sgml +++ b/doc/src/sgml/typeconv.sgml @@ -52,9 +52,9 @@ to start the parser down the correct path. For example, the query <programlisting> tgl=> SELECT text 'Origin' AS "Label", point '(0,0)' AS "Value"; -Label |Value -------+----- -Origin|(0,0) + Label | Value +--------+------- + Origin | (0,0) (1 row) </programlisting> @@ -295,9 +295,9 @@ The scanner assigns an initial type of <type>int4</type> to both arguments of this query expression: <programlisting> tgl=> select 2 ^ 3 AS "Exp"; -Exp ---- - 8 + Exp +----- + 8 (1 row) </programlisting> @@ -306,9 +306,9 @@ is equivalent to <programlisting> tgl=> select float8(2) ^ float8(3) AS "Exp"; -Exp ---- - 8 + Exp +----- + 8 (1 row) </programlisting> @@ -316,9 +316,9 @@ or <programlisting> tgl=> select 2.0 ^ 3.0 AS "Exp"; -Exp ---- - 8 + Exp +----- + 8 (1 row) </programlisting> @@ -345,9 +345,9 @@ Strings with unspecified type are matched with likely operator candidates. One unspecified argument: <programlisting> tgl=> SELECT text 'abc' || 'def' AS "Text and Unknown"; -Text and Unknown ----------------- -abcdef + Text and Unknown +------------------ + abcdef (1 row) </programlisting> </para> @@ -362,9 +362,9 @@ be interpreted as of type <type>text</type>. Concatenation on unspecified types: <programlisting> tgl=> SELECT 'abc' || 'def' AS "Unspecified"; -Unspecified ------------ -abcdef + Unspecified +------------- + abcdef (1 row) </programlisting> </para> @@ -398,9 +398,9 @@ factorial. <programlisting> tgl=> select (4.3 !); -?column? --------- - 24 + ?column? +---------- + 24 (1 row) </programlisting> @@ -481,18 +481,18 @@ to <type>int4</type>: <programlisting> tgl=> select int4fac(int2 '4'); -int4fac -------- - 24 + int4fac +--------- + 24 (1 row) </programlisting> and is actually transformed by the parser to <programlisting> tgl=> select int4fac(int4(int2 '4')); -int4fac -------- - 24 + int4fac +--------- + 24 (1 row) </programlisting> </para> @@ -511,9 +511,9 @@ If called with a string constant of unspecified type, the type is matched up directly with the only candidate function type: <programlisting> tgl=> select substr('1234', 3); -substr ------- - 34 + substr +-------- + 34 (1 row) </programlisting> </para> @@ -523,17 +523,17 @@ If the string is declared to be of type <type>varchar</type>, as might be the ca if it comes from a table, then the parser will try to coerce it to become <type>text</type>: <programlisting> tgl=> select substr(varchar '1234', 3); -substr ------- - 34 + substr +-------- + 34 (1 row) </programlisting> which is transformed by the parser to become <programlisting> tgl=> select substr(text(varchar '1234'), 3); -substr ------- - 34 + substr +-------- + 34 (1 row) </programlisting> </para> @@ -551,17 +551,17 @@ And, if the function is called with an <type>int4</type>, the parser will try to convert that to <type>text</type>: <programlisting> tgl=> select substr(1234, 3); -substr ------- - 34 + substr +-------- + 34 (1 row) </programlisting> actually executes as <programlisting> tgl=> select substr(text(1234), 3); -substr ------- - 34 + substr +-------- + 34 (1 row) </programlisting> </para> @@ -609,11 +609,11 @@ tgl=> CREATE TABLE vv (v varchar(4)); CREATE tgl=> INSERT INTO vv SELECT 'abc' || 'def'; INSERT 392905 1 -tgl=> select * from vv; -v ----- -abcd -(1 row) +tgl=> SELECT * FROM vv; + v +------ + abcd +(1 row) </programlisting> </para> </sect3> @@ -651,10 +651,10 @@ first SELECT clause or the target column. <para> <programlisting> tgl=> SELECT text 'a' AS "Text" UNION SELECT 'b'; -Text ----- -a -b + Text +------ + a + b (2 rows) </programlisting> </para> @@ -665,11 +665,11 @@ b <para> <programlisting> -tgl=> SELECT 1.2 AS Float8 UNION SELECT 1; -Float8 ------- - 1 - 1.2 +tgl=> SELECT 1.2 AS "Float8" UNION SELECT 1; + Float8 +-------- + 1 + 1.2 (2 rows) </programlisting> </para> @@ -686,11 +686,11 @@ the first/top clause in the union: tgl=> SELECT 1 AS "All integers" tgl-> UNION SELECT '2.2'::float4 tgl-> UNION SELECT 3.3; -All integers ------------- - 1 - 2 - 3 + All integers +-------------- + 1 + 2 + 3 (3 rows) </programlisting> </para> @@ -710,10 +710,10 @@ tgl-> UNION SELECT 3.3; INSERT 0 3 tgl=> SELECT f AS "Floating point" from ff; Floating point ----------------- - 1 -2.20000004768372 - 3.3 +------------------ + 1 + 2.20000004768372 + 3.3 (3 rows) </programlisting> </para> diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 5cda0f07913d922a60818470934802829accb86b..d4e88ec2dde4d237b3fc03fa07c0d7c57793b668 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.51 2000/03/15 06:50:51 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.52 2000/03/26 18:32:28 petere Exp $ * *------------------------------------------------------------------------- */ @@ -61,6 +61,7 @@ createdb(const char *dbname, const char *dbpath, int encoding) { char buf[2 * MAXPGPATH + 100]; char *loc; + char locbuf[512]; int4 user_id; bool use_super, use_createdb; Relation pg_database_rel; @@ -70,23 +71,25 @@ createdb(const char *dbname, const char *dbpath, int encoding) char new_record_nulls[Natts_pg_database] = { ' ', ' ', ' ', ' ' }; if (!get_user_info(GetPgUserName(), &user_id, &use_super, &use_createdb)) - elog(ERROR, "Current user name is invalid"); + elog(ERROR, "current user name is invalid"); if (!use_createdb && !use_super) - elog(ERROR, "CREATE DATABASE: Permission denied"); + elog(ERROR, "CREATE DATABASE: permission denied"); if (get_db_info(dbname, NULL, NULL, NULL)) - elog(ERROR, "CREATE DATABASE: Database \"%s\" already exists", dbname); + elog(ERROR, "CREATE DATABASE: database \"%s\" already exists", dbname); /* don't call this in a transaction block */ if (IsTransactionBlock()) - elog(ERROR, "CREATE DATABASE: May not be called in a transaction block"); + elog(ERROR, "CREATE DATABASE: may not be called in a transaction block"); /* Generate directory name for the new database */ - if (dbpath == NULL) - dbpath = dbname; + if (dbpath == NULL || strcmp(dbpath, dbname)==0) + strcpy(locbuf, dbname); + else + snprintf(locbuf, sizeof(locbuf), "%s/%s", dbpath, dbname); - loc = ExpandDatabasePath(dbpath); + loc = ExpandDatabasePath(locbuf); if (loc == NULL) elog(ERROR, @@ -105,10 +108,10 @@ createdb(const char *dbname, const char *dbpath, int encoding) pg_database_dsc = RelationGetDescr(pg_database_rel); /* Form tuple */ - new_record[Anum_pg_database_datname-1] = NameGetDatum(dbname); + new_record[Anum_pg_database_datname-1] = NameGetDatum(namein(dbname)); new_record[Anum_pg_database_datdba-1] = Int32GetDatum(user_id); new_record[Anum_pg_database_encoding-1] = Int32GetDatum(encoding); - new_record[Anum_pg_database_datpath-1] = PointerGetDatum(textin((char *)dbpath)); + new_record[Anum_pg_database_datpath-1] = PointerGetDatum(textin(locbuf)); tuple = heap_formtuple(pg_database_dsc, new_record, new_record_nulls); @@ -137,7 +140,7 @@ createdb(const char *dbname, const char *dbpath, int encoding) /* Copy the template database to the new location */ if (mkdir(loc, S_IRWXU) != 0) { - elog(ERROR, "CREATE DATABASE: Unable to create database directory '%s': %s", loc, strerror(errno)); + elog(ERROR, "CREATE DATABASE: unable to create database directory '%s': %s", loc, strerror(errno)); } snprintf(buf, sizeof(buf), "cp %s%cbase%ctemplate1%c* '%s'", @@ -147,7 +150,7 @@ createdb(const char *dbname, const char *dbpath, int encoding) snprintf(buf, sizeof(buf), "rm -rf '%s'", loc); ret = system(buf); if (ret == 0) - elog(ERROR, "CREATE DATABASE: Could not initialize database directory"); + elog(ERROR, "CREATE DATABASE: could not initialize database directory"); else elog(ERROR, "CREATE DATABASE: Could not initialize database directory. Delete failed as well"); } diff --git a/src/bin/initlocation/initlocation.sh b/src/bin/initlocation/initlocation.sh index e9ccf43fa9838283e1cdf48cbd32768d6d8f0472..d2f77783479492bcf7f6d8dc36f8483fc7b15bb5 100644 --- a/src/bin/initlocation/initlocation.sh +++ b/src/bin/initlocation/initlocation.sh @@ -8,7 +8,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/initlocation.sh,v 1.6 2000/03/25 19:01:48 tgl Exp $ +# $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/initlocation.sh,v 1.7 2000/03/26 18:32:30 petere Exp $ # #------------------------------------------------------------------------- @@ -156,9 +156,9 @@ echo "$CMDNAME is complete." # path, which the backend won't allow by default. if [ "$haveenv" = "t" ]; then echo "You can now create a database using" - echo " CREATE DATABASE <name> WITH LOCATION = '$Location/<name>'" + echo " CREATE DATABASE <name> WITH LOCATION = '$Location'" echo "in SQL, or" - echo " createdb <name> -D '$Location/<name>'" + echo " createdb <name> -D '$Location'" echo "from the shell." fi echo