aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-06-12 05:55:50 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-06-12 05:55:50 +0000
commit1d584f97b9bfe1501f9d2bc5528e7818fa73c235 (patch)
tree59a1a520e2a31718257ca9fa58f7819c8b321ac8 /doc/src
parentd2c8358188cc6710e80800827cbb555600fd4b4d (diff)
downloadpostgresql-1d584f97b9bfe1501f9d2bc5528e7818fa73c235.tar.gz
postgresql-1d584f97b9bfe1501f9d2bc5528e7818fa73c235.zip
Clean up various to-do items associated with system indexes:
pg_database now has unique indexes on oid and on datname. pg_shadow now has unique indexes on usename and on usesysid. pg_am now has unique index on oid. pg_opclass now has unique index on oid. pg_amproc now has unique index on amid+amopclaid+amprocnum. Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache. Remove index on pg_listener and associated syscache for performance reasons (caching rows that are certain to change before you need 'em again is rather pointless). Change pg_attrdef's nonunique index on adrelid into a unique index on adrelid+adnum. Fix various incorrect settings of pg_class.relisshared, make that the primary reference point for whether a relation is shared or not. IsSharedSystemRelationName() is now only consulted to initialize relisshared during initial creation of tables and indexes. In theory we might now support shared user relations, though it's not clear how one would get entries for them into pg_class &etc of multiple databases. Fix recently reported bug that pg_attribute rows created for an index all have the same OID. (Proof that non-unique OID doesn't matter unless it's actually used to do lookups ;-)) There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap relations. Convert them into plain system catalogs without hardwired entries in pg_class and friends. Unify global.bki and template1.bki into a single init script postgres.bki, since the alleged distinction between them was misleading and pointless. Not to mention that it didn't work for setting up indexes on shared system relations. Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do). Also, hold locks until transaction commit where necessary.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/bki.sgml22
-rw-r--r--doc/src/sgml/catalogs.sgml5
2 files changed, 14 insertions, 13 deletions
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml
index 2e4b12f91b3..2b90f048e3b 100644
--- a/doc/src/sgml/bki.sgml
+++ b/doc/src/sgml/bki.sgml
@@ -1,4 +1,6 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.6 2000/12/23 16:24:29 petere Exp $ -->
+<!--
+$Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.7 2001/06/12 05:55:48 tgl Exp $
+ -->
<chapter id="bki">
<title><acronym>BKI</acronym> Backend Interface</title>
@@ -15,16 +17,14 @@
</para>
<para>
- <application>initdb</application> uses <acronym>BKI</acronym> files
+ <application>initdb</application> uses a <acronym>BKI</acronym> file
to do part of its job when creating a new database cluster. The
- input files used by <application>initbd</application> are created as
+ input file used by <application>initdb</application> is created as
part of building and installing <productname>Postgres</productname>
by a program named <filename>genbki.sh</filename> from some
specially formatted C header files in the source tree. The created
- BKI files are called <filename>global.bki</filename> (for global
- catalogs) and <filename>template1.bki</filename> (for the catalogs
- initially stored in the template1 database and then duplicated in
- every created database) and are normally installed in the
+ BKI file is called <filename>postgres.bki</filename> and is
+ normally installed in the
<filename>share</filename> subdirectory of the installation tree.
</para>
@@ -39,7 +39,7 @@
<para>
This section describes how the <productname>Postgres</productname>
backend interprets <acronym>BKI</acronym> files. This description
- will be easier to understand if the <filename>global.bki</filename>
+ will be easier to understand if the <filename>postgres.bki</filename>
file is at hand as an example. You should also study the source
code of <application>initdb</application> to get an idea of how the
backend is invoked.
@@ -49,7 +49,7 @@
BKI input consists of a sequence of commands. Commands are made up
of a number of tokens, depending on the syntax of the command.
Tokens are usually separated by whitespace, but need not be if
- there is no ambiguity. There is not special command separator; the
+ there is no ambiguity. There is no special command separator; the
next token that syntactically cannot belong to the preceeding
command starts a new one. (Usually you would put a new command on
a new line, for clarity.) Tokens can be certain key words, special
@@ -155,13 +155,13 @@
values and <replaceable
class="parameter">oid_value</replaceable> for its OID. If
<replaceable class="parameter">oid_value</replaceable> is zero
- (0) or the clause is ommitted, then the next available OID is
+ (0) or the clause is omitted, then the next available OID is
used.
</para>
<para>
NULL values can be specified using the special key word
- <literal>_null_</literal>. Values containing spaces should be
+ <literal>_null_</literal>. Values containing spaces must be
double quoted.
</para>
</listitem>
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 27b8314518a..9c3814820dc 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -1,6 +1,6 @@
<!--
Documentation of the system catalogs, directed toward PostgreSQL developers
- $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.17 2001/05/14 20:30:19 momjian Exp $
+ $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.18 2001/06/12 05:55:48 tgl Exp $
-->
<chapter id="catalogs">
@@ -645,7 +645,8 @@
<entry>relisshared</entry>
<entry><type>bool</type></entry>
<entry></entry>
- <entry>XXX (This is not what it seems to be.)</entry>
+ <entry>True if this table is shared across all databases in the
+ cluster.</entry>
</row>
<row>