]> granicus.if.org Git - postgresql/commitdiff
Change Postgres95 to PostgreSQL. Update CLUSTER manual page.
authorBruce Momjian <bruce@momjian.us>
Sat, 14 Mar 1998 21:58:09 +0000 (21:58 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 14 Mar 1998 21:58:09 +0000 (21:58 +0000)
contrib/pginterface/Makefile
doc/libpgtcl.doc
src/bin/pg_dump/README
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/interfaces/libpgtcl/README
src/interfaces/libpq++/README
src/interfaces/python/tutorial/basics.py
src/man/cluster.l
src/test/regress/sql/create_index.sql

index 659aac30f0cd58eb250bf4b1229964a8fdd88d8a..8e86345a4481dcef28fa0635f39f5dfd545178a6 100644 (file)
@@ -4,8 +4,8 @@
 #
 PGINTERFACE = pginterface.o halt.o 
 TARGET = pginsert pgwordcount pgnulltest
-CFLAGS = -g -Wall -I/u/postgres95/include 
-LDFLAGS = -L/u/postgres95/lib -lpq
+CFLAGS = -g -Wall -I/usr/local/pgsql/include 
+LDFLAGS = -L/usr/local/pgsql/lib -lpq
 
 all : $(TARGET)
 
index ce7da7fc53e4208424e1e27c73d90480274e0848..1ce02762f88778f01be683e4bb287bdf60478155 100644 (file)
@@ -1,5 +1,5 @@
 
-pgtcl is a tcl package for front-end programs to interface with Postgres95
+pgtcl is a tcl package for front-end programs to interface with PostgreSQL
 backends.    PgTcl does not use the libpq library but communicates to
 the backend directly via the frontend-backend protocol.  Thus, it is
 more efficient than previous postgres->tcl bindings which are layered
index 17c433c8981aa06613a58720d8e3a276a27114f3..f34f45a754cecb3f4d639cd5919e86a918cf34f4 100644 (file)
@@ -11,9 +11,9 @@ To build:
 
           % gmake clean install
 
-This version of the program will read in your postgres95 database and
+This version of the program will read in your postgreSQL database and
 output the schema and the data tuples in SQL.  The dumps are useful
-for moving from one postgres95 installation to another.  
+for moving from one postgreSQL installation to another.  
 
 
 How to use pg_dump:
index 9e1b78a60f509c54d09f91c641a6ee8c99e54433..3d9732e0b1a8c16edd2132384db1e1b1327447ca 100644 (file)
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.64 1998/02/26 04:38:54 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.65 1998/03/14 21:57:22 momjian Exp $
  *
  * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
  *
@@ -2681,7 +2681,7 @@ dumpIndices(FILE *fout, IndInfo *indinfo, int numIndices,
  *
  *       We only need to do this for POSTGRES 4.2 databases since the
  *       COPY TO statment doesn't escape newlines properly. It's been fixed
- *       in Postgres95.
+ *       in PostgreSQL.
  *
  * the attrmap passed in tells how to map the attributes copied in to the
  * attributes copied out
index 38da913d98edef29ffa4ae86cfa039e68f2496e6..03636d45016e5d003e12e297072443b8fa1581c3 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_dump.h,v 1.30 1998/02/26 04:39:01 momjian Exp $
+ * $Id: pg_dump.h,v 1.31 1998/03/14 21:57:26 momjian Exp $
  *
  * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
  *
@@ -176,7 +176,7 @@ extern char g_opaque_type[10];      /* name for the opaque type */
 
 /* pg_dump is really two programs in one
        one version works with postgres v4r2
-       and the other works with postgres95
+       and the other works with postgreSQL
        the common routines are declared here
 */
 /*
index d2e2d59c798f2dc7fa16a8a91100e57fd4d487fd..b17416bf90f9fe9f66d92b05cfd7116f3599a7c6 100644 (file)
@@ -1,6 +1,5 @@
-libpgtcl is a library that implements Tcl commands for front-end
-clients to interact with the Postgres95 backend.  See libpgtcl.doc for
-details.
+libpgtcl is a library that implements Tcl commands for front-end clients
+to interact with the PostgreSQL backend.  See libpgtcl.doc for details.
 
 For an example of how to build a new tclsh to use libpgtcl, see the
 directory ../bin/pgtclsh
index cb5d0aeddb1cf38100b2ec1bd534cc6d8ce021a2..1332b9633db2a3313bd8a4e428fe6a2af5380f17 100644 (file)
@@ -1,6 +1,6 @@
-This directory contains libpq++, the C++ language interface to POSTGRES95.
+This directory contains libpq++, the C++ language interface to POSTGRESQL.
 libpq++ is implemented on of the libpq library.  Users would benefit
-from reading the chapter on libpq in the postgres95 users manual
+from reading the chapter on libpq in the PostgreSQL users manual
 before using libpq++.
 
 The initial version of this implementation was done by William Wanders
@@ -8,8 +8,8 @@ The initial version of this implementation was done by William Wanders
 
 This is only a preliminary attempt at providing something useful for
 people who would like to use C++ to build frontend applications to
-postgres95.  The API provided herein is subject to change in later
-versions of postgres95.
+PostgreSQL.  The API provided herein is subject to change in later
+versions of PostgreSQL.
 
 For details on how to to use libpq++, see the man page in the man/
 subdirectory and the test programs in the examples/ subdirectory. 
index b0cd9292df00bfae469eba6a3efbdb196c238ffe..bd47611488e8f8cb0ccc2ee81ce375438a9ac174 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/local/bin/python
 # basics.py - basic SQL commands tutorial
-# inspired from the Postgres95 tutorial 
+# inspired from the PostgreSQL tutorial 
 # adapted to Python 1995 by Pascal ANDRE
 
 print "__________________________________________________________________"
index 73a2fde926a31d7769266da8e9c933c92b2434ec..e76796e61f8c95660ef584627395c318f6568623 100644 (file)
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/cluster.l,v 1.4 1998/01/11 22:17:10 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/cluster.l,v 1.5 1998/03/14 21:57:56 momjian Exp $
 .TH CLUSTER SQL 01/23/93 PostgreSQL PostgreSQL
 .SH NAME
 cluster - give storage clustering advice to Postgres
@@ -17,14 +17,42 @@ The index must already have been defined on
 .IR classname.
 .PP
 When a class is clustered, it is physically reordered based on the index
-information.  The clustering is static.  In other words, if the class is
-updated, it may become unclustered.  No attempt is made to keep new
+information.  The clustering is static.  In other words, as the class is
+updated, the changes are not clusterd.  No attempt is made to keep new
 instances or updated tuples clustered.  If desired, the user can
 recluster manually by issuing the command again.
 .PP
-The table is actually copied to temporary table in index order,
-then renamed back to the original name.  For this reason, all
-grant permissions and other indexes are lost when cluster is performed.
+The table is actually copied to temporary table in index order, then
+renamed back to the original name.  For this reason, all grant
+permissions and other indexes are lost when cluster is performed.
+.PP
+In cases where you are accessing single rows randomly within a table,
+the actual order of the data in the heap table unimportant.  However, if
+you tend to access some data more than others, and there is an index
+that groups them together, you will benefit from using the CLUSTER
+command.
+.PP
+Another place CLUSTER is good is in cases where you use an index to pull
+out several rows from a table.  If you are requesting a range of indexed
+values from a table, or a single indexed value that has multiple rows
+that match, CLUSTER will help because once the index identifies the heap
+page for the first row that matches, all other rows that match are
+probably already on the same heap page, saving disk accesses and speeding up
+the query.
+.PP
+There are two ways to cluster data.  The first is with the CLUSTER
+command, which reoreders the original table with the ordering of the
+index you specify.  This can be slow on large tables because the rows
+are fetched from the heap in index order, and if the heap table is
+unordered, the entries are on random pages, so there is one disk page
+retrieved for every row moved.  PostgreSQL has a cache, but the majority
+of a big table will not fit in the cache.
+.PP
+Another way is to use SELECT ... INTO TABLE temp FROM ...  This uses the
+PostgreSQL sorting code, and is much faster for unordered data.  You
+then drop the old table, use ALTER TABLE RENAME to rename 'temp' to the
+old name, and recreate the indexes.  From then on, CLUSTER should be
+fast because most of the heap data is ordered.
 .SH EXAMPLE
 .nf
 /*
@@ -34,4 +62,3 @@ create index emp_ind on emp using btree (salary int4_ops);
 
 cluster emp_ind on emp
 .fi
-
index da3bb70451c2b67f1fae9be241bbd951daff1769..5ba465e7a7e7499e673d80125f71c866a4960cb6 100644 (file)
@@ -49,7 +49,7 @@ CREATE INDEX bt_f8_index ON bt_f8_heap USING btree (seqno float8_ops);
 
 --
 -- BTREE partial indices
--- partial indices are not supported in postgres95
+-- partial indices are not supported in PostgreSQL
 --
 --CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
 --     where onek2.unique1 < 20 or onek2.unique1 > 980;