Commit Graph

595 Commits

Author SHA1 Message Date
Peter Eisentraut
fdf07fe14f For consistency with the rest of PostgreSQL, rename BLOBs to large objects
in messages and documentation.
2001-09-21 21:58:30 +00:00
Tom Lane
196700c372 Add 'reload' option to pg_ctl to send SIGHUP to the postmaster. 2001-09-21 21:10:56 +00:00
Tom Lane
c1c888a9de Code review for MD5 authorization patch. Clean up some breakage
(salts were always zero!?), add much missing documentation.
2001-09-21 20:31:49 +00:00
Tom Lane
89fa551808 EXPLAIN ANALYZE feature to measure and show actual runtimes and tuple
counts alongside the planner's estimates.  By Martijn van Oosterhout,
with some further work by Tom Lane.
2001-09-18 01:59:07 +00:00
Peter Eisentraut
264f8f2b6c Install dynamically loadable modules into a private subdirectory
under libdir, for a cleaner separation in the installation layout
and compatibility with binary packaging standards.  Point backend's
default search location there.  The contrib modules are also
installed in the said location, giving them the benefit of the
default search path as well.  No changes in user interface
nevertheless.
2001-09-16 16:11:11 +00:00
Tatsuo Ishii
113cf00edf Add semicolon 2001-09-14 10:28:09 +00:00
Tatsuo Ishii
b4982f9b6d Fix typo. 2001-09-14 10:24:35 +00:00
Tatsuo Ishii
f9d2749a03 Fix exmaple
Tatsuo Ishii
2001-09-14 09:49:00 +00:00
Tatsuo Ishii
03df474440 Fix show message
Tatsuo Ishii
2001-09-14 08:47:00 +00:00
Tatsuo Ishii
e38664aaa2 Add semicolon
Tatsuo Ishii
2001-09-14 08:24:29 +00:00
Tatsuo Ishii
479cba8367 Example rules do not work.
CREATE RULE bad_rule_combination_1 AS
    ON SELECT TO emp
    DO INSTEAD
        SELECT * FROM toyemp;

CREATE RULE bad_rule_combination_2 AS
    ON SELECT TO toyemp
    DO INSTEAD
        SELECT * FROM emp;

	Tatsuo Ishii
2001-09-14 08:19:55 +00:00
Tatsuo Ishii
3f45796c7b Add semicolon 2001-09-14 08:05:55 +00:00
Tatsuo Ishii
147c742aa2 Add semicolon
Tatsuo Ishii
2001-09-14 07:59:31 +00:00
Peter Eisentraut
76273a51a8 Update compatibility information. 2001-09-13 19:40:34 +00:00
Peter Eisentraut
861a0d7b5a Update compatibility information. 2001-09-13 19:05:29 +00:00
Peter Eisentraut
a6496a2338 Update compatibility information. 2001-09-13 18:17:44 +00:00
Peter Eisentraut
351a0c1736 Replace ASCII-quotes with proper markup. 2001-09-13 15:55:24 +00:00
Tatsuo Ishii
3b99f74d95 Fix typo (add ;) 2001-09-12 02:13:25 +00:00
Tatsuo Ishii
2d12bc1ea1 Fix typo (add ;) 2001-09-12 01:55:25 +00:00
Tatsuo Ishii
95dc7785b5 Add single quote (example given here does not work) 2001-09-11 05:11:59 +00:00
Peter Eisentraut
c0d4d5473a Make the world somewhat safe for (not from) DELETE FROM pg_shadow;
Assign the fixed user id 1 to the user created by initdb.
A stand-alone backend will always set the user id to 1.
(Consequently, the name of that user is no longer important.)

In stand-alone mode, the user id 1 will have implicit superuser
status, to allow repairs even if there are no users defined.

Print a warning message when starting in stand-alone mode when no
users are defined.

Disallow dropping the current user and session user.

Granting/revoking superuser status also grants/revokes usecatupd.
(Previously, it would never grant it back.  This could lead to "deadlocks".)

CREATE USER and CREATE GROUP will start allocating user ids at 100
(unless explicitly specified), to prevent accidental creation of a
superuser (plus some room for future extensions).
2001-09-08 15:24:00 +00:00
Bruce Momjian
bd9b32803b Here is my much-promised patch to let people add UNIQUE constraints after
table creation time.  Big deal you say - but this patch is the basis of the
next thing which is adding PRIMARY KEYs after table creation time.  (Which
is currently impossible without twiddling catalogs)

Rundown
-------

* I have made the makeObjectName function of analyze.c non-static, and
exported it in analyze.h

* I have included analyze.h and defrem.h into command.c, to support
makingObjectNames and creating indices

* I removed the 'case CONSTR_PRIMARY' clause so that it properly fails and
says you can't add primary keys, rather than just doing nothing and
reporting nothing!!!

* I have modified the docs.

Algorithm
---------

* If name specified is null, search for a new valid constraint name.  I'm
not sure if I should "lock" my generated name somehow tho - should I open
the relation before doing this step?

* Open relation in access exclusive mode

* Check that the constraint does not already exist

* Define the new index

* Warn if they're doubling up on an existing index

Christopher Kings-Lynne
2001-09-07 21:57:53 +00:00
Tom Lane
17c03b30b0 Revert treatment of NOTIFY in rules to its pre-7.1 behavior: notify will
occur unconditionally, even if the rule should otherwise execute
conditionally.  This is more useful than giving an error, even though it's
not truly the correct behavior.  Per today's pghackers discussion.
2001-09-07 20:52:31 +00:00
Peter Eisentraut
22ae53d4cd Move the "how to write a PL call handler" parts from the CREATE LANGUAGE
man page to the Programmer's Guide.
2001-09-06 10:28:39 +00:00
Peter Eisentraut
3c59a9e3b7 Bring references to ipcclean in sync with reality. 2001-09-04 00:22:34 +00:00
Peter Eisentraut
89a1ea4207 Put some kind of grammatical uniformity in the <refpurpose> lines. 2001-09-03 12:57:50 +00:00
Peter Eisentraut
2c6b599c04 Remove useless xreflabel. 2001-08-29 19:11:00 +00:00
Peter Eisentraut
f5944af8ba Include directory rearrangement
Client headers are no longer in a subdirectory, since they have been made
namespace-clean.

Internal libpq headers are in a private subdirectory.

Server headers are in a private subdirectory.  pg_config has a new option
to point there.
2001-08-28 14:20:28 +00:00
Tom Lane
bc7d37a525 Transaction IDs wrap around, per my proposal of 13-Aug-01. More
documentation to come, but the code is all here.  initdb forced.
2001-08-26 16:56:03 +00:00
Bruce Momjian
d1ee78f296 Document single-letter createuser encryption options. 2001-08-26 04:20:36 +00:00
Bruce Momjian
4699d81dc9 Add ENCRYPTED/UNENCRYPTED control in createuser script. 2001-08-25 17:46:11 +00:00
Peter Eisentraut
7e20c35e1c Add ecpg --help and --version. Renumber the exit status codes, which were
documented wrong.
2001-08-24 22:37:36 +00:00
Peter Eisentraut
627c0d4472 Add option to output SET SESSION AUTHORIZATION commands rather than
\connect, to avoid possible password prompts and such, at the drawback of
having to have superuser access.
2001-08-22 20:23:24 +00:00
Tom Lane
f933766ba7 Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
index AM, not a row for each opclass name.  This allows pg_opclass to show
directly whether an AM supports an opclass, and furthermore makes it possible
to store additional information about an opclass that might be AM-dependent.
pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
previously expected the user to remember to provide in CREATE INDEX commands.
Lossiness is no longer an index-level property, but is associated with the
use of a particular operator in a particular index opclass.

Along the way, IndexSupportInitialize now uses the syscaches to retrieve
pg_amop and pg_amproc entries.  I find this reduces backend launch time by
about ten percent, at the cost of a couple more special cases in catcache.c's
IndexScanOK.

Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.

initdb forced.
2001-08-21 16:36:06 +00:00
Tom Lane
d4f4b971a4 Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type
has an alias SERIAL4 and a sister SERIAL8.  SERIAL8 is just the same
except the created column is type int8 not int4.
initdb forced.  Note this also breaks any chance of pg_upgrade from 7.1,
unless we hack up pg_upgrade to drop and recreate sequences.  (Which is
not out of the question, but I don't wanna do it.)
2001-08-16 20:38:56 +00:00
Bruce Momjian
38bb1abcda Use MD5 for wire protocol encryption for >= 7.2 client/server.
Allow pg_shadow to be MD5 encrypted.
Add ENCRYPTED/UNENCRYPTED option to CREATE/ALTER user.
Add password_encryption postgresql.conf option.
Update wire protocol version to 2.1.
2001-08-15 18:42:16 +00:00
Peter Eisentraut
ee8ed85da3 Make LANCOMPILER clause in CREATE LANGUAGE optional. Allow "identifier"
syntax for language names (instead of 'string').

createlang now handles the case where a second language uses the same call
handler as an already installed language (e.g., plperl/plperlu).

droplang now handles the reverse case, i.e., dropping a language where
the call handler is still used by another language.  Moreover, droplang
can now be used to drop any user-defined language, not just the supplied
ones.
2001-08-13 21:34:54 +00:00
Bruce Momjian
4d7af98759 Patch NAME section of reference pages. 2001-08-13 15:24:46 +00:00
Peter Eisentraut
a0c449a0f8 Make pg_dump handle the new privileges.
Don't hardcode the maximum accepted server version, use PG_VERSION instead.
Install a notice processor so notices are handled like error messages.
Word smithing.
2001-08-12 19:02:39 +00:00
Tom Lane
548512ad03 Document column-name-list option of CREATE VIEW ... which has been there
awhile, but the man page didn't know it.
2001-08-10 23:49:20 +00:00
Tom Lane
6568939852 Mention that COPY cannot be used on a view (per recent suggestion).
Other small improvements.
2001-08-10 23:09:30 +00:00
Tom Lane
ef6ccb0bcc Cleanup some minor oversights in optional-OIDs stuff. 2001-08-10 20:52:25 +00:00
Tom Lane
bf56f0759b Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.
2001-08-10 18:57:42 +00:00
Bruce Momjian
77a69a2ed1 Patch to LOCK multiple tables in one LOCK command.
Neil Padgett
2001-08-10 14:30:15 +00:00
Tom Lane
246793469e Modify partial-index-predicate applicability tester to test whether
clauses are equal(), before trying to match them up using btree opclass
inference rules.  This allows it to recognize many simple cases involving
non-btree operations, for example 'x IS NULL'.  Clean up code a little.
2001-08-06 18:09:45 +00:00
Bruce Momjian
d1c9633060 Back out LOCK A,B,C patch at Tom's suggestion. 2001-08-04 22:01:39 +00:00
Bruce Momjian
16365ac75b Add LOCK A,B,C functionality as LOCK A;LOCK B;LOCK C; as agreed.
Neil Padgett
2001-08-04 19:39:00 +00:00
Tom Lane
fd61fbe837 For some reason, CREATE TYPE has only accepted alignment specifications
of 'int4' and 'double'.  Add 'char' and 'int2' to allow user-defined types
to access the full set of supported alignments.
2001-08-03 20:47:40 +00:00
Tom Lane
f31dc0ada7 Partial indexes work again, courtesy of Martijn van Oosterhout.
Note: I didn't force an initdb, figuring that one today was enough.
However, there is a new function in pg_proc.h, and pg_dump won't be
able to dump partial indexes until you add that function.
2001-07-16 05:07:00 +00:00
Peter Eisentraut
1a17447be1 NLS for libpq. Clean up the message formats and change the documentation
accordingly.
2001-07-15 13:45:04 +00:00
Tom Lane
3284758a17 Remove grammar restrictions on order of optional clauses in CREATE GROUP.
From Vince Vielhaber.
2001-07-12 18:03:00 +00:00
Bruce Momjian
62f5badebf Remove mention that PREPARE is not implemented. 2001-07-11 03:43:52 +00:00
Tom Lane
320b6db090 Changes from Vince Vielhaber to allow the optional clauses of CREATE
USER and ALTER USER to appear in any order, not only the fixed order
they used to be required to appear in.
Also, some changes from Tom Lane to create a FULL option for VACUUM;
it doesn't do anything yet, but I needed to change many of the same
files to make that happen, so now seemed like a good time.
2001-07-10 22:09:29 +00:00
Tom Lane
cb052e0bf1 Fix rule rewriter so that new ordering of ON INSERT actions applies
in cases of qualified rules as well as unqualified ones.  Tweak rules
test to avoid cluttering output with dummy SELECT results.  Update
documentation to match code.
2001-07-09 23:50:32 +00:00
Tom Lane
4fe42dfbc3 Add SHARE UPDATE EXCLUSIVE lock mode, coming soon to a VACUUM near you.
Name chosen per pghackers discussion around 6/22/01.
2001-07-09 22:18:34 +00:00
Peter Eisentraut
10e9cd2299 Allow default transaction isolation level (a.k.a. set session
characteristics) to be set through GUC.
2001-06-30 22:03:26 +00:00
Peter Eisentraut
e4a40cc353 fix markup 2001-06-30 22:01:17 +00:00
Bruce Momjian
a0c12d5e90 Add TEMPORARY sequences and have SERIAL on a temp table have a temporary
sequence.
2001-06-23 00:07:34 +00:00
Bruce Momjian
0bba6bdb8a Improve wording of authentication files. 2001-06-18 16:11:30 +00:00
Bruce Momjian
091b262008 Update or remove mentions of versions where appropriate. 2001-06-10 03:46:31 +00:00
Peter Eisentraut
7ceed2a9b5 Allow GRANT/REVOKE to/from more than one user per invocation. Command tag
for GRANT/REVOKE is now just that, not "CHANGE".

On the way, migrate some of the aclitem internal representation away from
the parser and build a real parse tree instead.  Also add some 'const'
qualifiers.
2001-06-09 23:21:55 +00:00
Bruce Momjian
4ee76ad884 reset all: command line and .conf options change defaults
on RESET ALL those are restored.

show all: GUC + non-GUC.

SHOW ALL, RESET ALL

Marko Kreen
2001-06-07 04:50:57 +00:00
Bruce Momjian
28d2420eef This patch adds support for %TYPE in CREATE FUNCTION argument and return
types.  This version has an elog() to remind the user the type
resolution is not dynamic.

Ian Lance Taylor
2001-06-04 23:27:23 +00:00
Bruce Momjian
3d56fb7598 This is a docs patch to go with my DROP CONSTRAINT patch.
Christopher Kings
2001-05-30 13:01:08 +00:00
Tom Lane
7d4854f85c Correct obsolete example of FROM-less query. 2001-05-30 04:32:30 +00:00
Bruce Momjian
32762facf6 Sample output that appears below the table attributes for \d:
Indicies: palm_buy_date_idx
          palm_user_date_idx
Primary Key: palm_buyers_pkey
Unique Key: palm_buyers_username
Constraint: "$1" ((sex = 'M'::bpchar) OR (sex = 'F'::bpchar))

Note that check constraint name now shown as well.  (Makes it a lot easier
to test inheritance support in ADD/DROP constraint :) )

Attached is a docs change for psql.

Christopher Kings
2001-05-28 04:27:17 +00:00
Peter Eisentraut
96147a6d1c Make UPDATE and DELETE privileges distinct. Add REFERENCES and TRIGGER
privileges.  INSERT and COPY FROM now require INSERT (only).  Add
privileges regression test.
2001-05-27 09:59:30 +00:00
Bruce Momjian
f6923ff3ac Oops, only wanted python change in the last commit. Backing out. 2001-05-25 15:45:34 +00:00
Bruce Momjian
dffb673692 While changing Cygwin Python to build its core as a DLL (like Win32
Python) to support shared extension modules, I have learned that Guido
prefers the style of the attached patch to solve the above problem.
I feel that this solution is particularly appropriate in this case
because the following:

    PglargeType
    PgType
    PgQueryType

are already being handled in the way that I am proposing for PgSourceType.

Jason Tishler
2001-05-25 15:34:50 +00:00
Peter Eisentraut
cb8b40e6d5 Allow special '$libdir' macro to show up in object file path in CREATE
FUNCTION command.  Guard against trying to load a directory.  Update
documentation some.
2001-05-19 09:01:10 +00:00
Peter Eisentraut
a6677f0f9e Change "indices" to "indexes", per OED. 2001-05-17 21:50:18 +00:00
Peter Eisentraut
f000ffd28e Add -U and -W options to pg_dump and friends to support non-interactive
specification of username (like in psql).  pg_dumpall now works with
password authentication.
2001-05-17 21:12:49 +00:00
Peter Eisentraut
b3f66d1980 Add command '\pset footer' to psql to turn off default "(x rows)" footer. 2001-05-12 19:44:46 +00:00
Peter Eisentraut
2c6373fafa Add --echo option to createlang and droplang.
from Oliver Elphick
2001-05-09 22:08:19 +00:00
Bruce Momjian
a79b698adb Here's a version of my suggested diffs transplanted to 7.1 beta 5. I'm
still looking at the best way to integrate Tom Vijlbrief's fixes
(insofar as they're still needed); would 7.2 be a suitable time for
incompatible API changes?


Jeroen


Changes:

(*) Introduced bool, true, false (replacing some int, 1, 0)
(*) Made some member functions const
(*) Documented GetIsNull()
(*) Marked DisplayTuples() and PrintTuples() as obsolescent; fixed possible
    portability problem (assumed that NULL pointer equals all-zero bit pattern)
(*) PrintTuples(): renamed width parameter to fillAlign to conform with other
    usage; fixed memory leak and compile issue w.r.t. field separator (should
    also slightly improve performance)
(*) Fixed some minor compilation issues
(*) Moved "using namespace std;" out of headers, where they didn't belong; used
    new (temporary) preprocessor macro PGSTD to do this
(*) Made ToString() static, removed unneeded memset(), made buffer size adapt
    to sizeof(int)
(*) Made some constructors explicit
(*) Changed some const std::string & parameters to plain std::string
(*) Marked PgCursor::Cursor(std::string) as obsolescent (setter with same name
    as getter--bad style)
(*) Renamed some paramaters previously named "string"
(*) Introduced size_type typedef for number of tuples in result set
(*) PgTransaction now supports re-opening after closing, and aborts if not
    explicitly committed prior to destruction

J. T. Vermeulen
2001-05-09 17:29:10 +00:00
Bruce Momjian
1ef9338ab6 If it's true that the ALTER TABLE x ADD CONSTRAINT x CHECK (x) syntax is
supported in 7.1.1, here is a patch to that alter_table.sgml that documents
it.

Christopher Kings-Lynne
2001-05-09 13:27:15 +00:00
Peter Eisentraut
1c1c58c76c Add SET SESSION AUTHORIZATION command. 2001-05-08 21:06:43 +00:00
Bruce Momjian
530dc73cd1 Remove pgadmin.sgml file. 2001-05-08 19:28:01 +00:00
Bruce Momjian
04e14fa350 drop_function.sgml:
===================
In Notes:
 Refer to CREATE FUNCTION for information on creating aggregate functions.
                                                      ^^^^^^^^^^^^^^^^^^^
I assume it must read C function instead.

In Compatibility SQL/PSM:
 SQL/PSM is a proposed standard.

 We had that before: remove proposed.


drop_index.sgml:
================
<REFNAME>: Removes existing indexes from a database

as far as I can see index should be singular. The command description is
written as if only one index can be removed at a time. Interestingly
enough, in v7.0.2 it was in fact singular. Am I mistaken here?

drop_operator.sgml:
===================
In Outputs the arguments are referred to as type and type2, but the synopsis
and Inputs section these are left_type and right_type, respectively. Also,
oper is used in Outputs versus id in Inputs/Synopsis. In the translation I
follow the replaceables used in the Inputs/Synopsis part.

Frank Wegmann
2001-05-08 17:51:30 +00:00
Bruce Momjian
cd11d33a36 drop_function.sgml:
===================
In Notes:
 Refer to CREATE FUNCTION for information on creating aggregate functions.
                                                      ^^^^^^^^^^^^^^^^^^^
I assume it must read C function instead.

Frank Wegmann
2001-05-08 17:35:57 +00:00
Peter Eisentraut
232724af0d Add \cd command to psql. 2001-05-07 19:31:33 +00:00
Tom Lane
f905d65ee3 Rewrite of planner statistics-gathering code. ANALYZE is now available as
a separate statement (though it can still be invoked as part of VACUUM, too).
pg_statistic redesigned to be more flexible about what statistics are
stored.  ANALYZE now collects a list of several of the most common values,
not just one, plus a histogram (not just the min and max values).  Random
sampling is used to make the process reasonably fast even on very large
tables.  The number of values and histogram bins collected is now
user-settable via an ALTER TABLE command.

There is more still to do; the new stats are not being used everywhere
they could be in the planner.  But the remaining changes for this project
should be localized, and the behavior is already better than before.

A not-very-related change is that sorting now makes use of btree comparison
routines if it can find one, rather than invoking '<' twice.
2001-05-07 00:43:27 +00:00
Peter Eisentraut
7038554c4e Allow 'psql -f -' to read from standard input. 2001-05-06 17:38:32 +00:00
Peter Eisentraut
84e8e5b427 Make prompt customization work with changeable Unix socket location. 2001-05-06 17:21:11 +00:00
Tom Lane
77fe28f33e Describe handling of multiply-inherited fields correctly. 2001-05-03 17:50:55 +00:00
Bruce Momjian
4ad073cf4c In the outputs section the NOTICE reads:
aggregate 'agg' for 'type' does not exist.

Mismatch with synopsis, agg must be name here.

Frank Wegmann
2001-05-02 20:35:21 +00:00
Bruce Momjian
4929d85e50 description of the command line option echo should read:
Echo the queries that createuser generates and sends to the backend.
                      ^^^^^^^^^^

Frank Wegmann
2001-05-02 14:46:33 +00:00
Bruce Momjian
82511e3375 In create_function there is a remark concerning SQL/PSM not
being ratified as yet. This is certainly no longer true, it wasn't
even true in Q2/1998 when I did a little research for Date's book.
SQL/PSM had been published on 1996-12-15 as ISO/IEC 9075:4. So you
might want to update that section.


Frank Wegmann
2001-04-28 13:59:07 +00:00
Bruce Momjian
651acdaa6e A small patch for a small option (for rel. 7.1).
Jimmy Olgeni
2001-04-27 01:31:56 +00:00
Peter Eisentraut
0967057b5d minor copy editing 2001-03-24 23:03:26 +00:00
Thomas G. Lockhart
15dc7d11ea Fix up wording slightly. No change in content. 2001-03-24 02:35:25 +00:00
Tom Lane
40dc76e315 Recommend CREATE TABLE AS in preference to SELECT INTO. Remove the
(inadequate anyway) mention of SELECT INTO from the main SELECT ref page.
Point out that SELECT INTO means something else in plpgsql and ecpg.
2001-03-20 20:54:41 +00:00
Peter Eisentraut
6ea087b243 Add missing TO. 2001-03-19 16:20:52 +00:00
Peter Eisentraut
406183fbed Tuning for docbook2man. 2001-03-17 16:27:31 +00:00
Tom Lane
4d14fe0048 XLOG (and related) changes:
* Store two past checkpoint locations, not just one, in pg_control.
  On startup, we fall back to the older checkpoint if the newer one
  is unreadable.  Also, a physical copy of the newest checkpoint record
  is kept in pg_control for possible use in disaster recovery (ie,
  complete loss of pg_xlog).  Also add a version number for pg_control
  itself.  Remove archdir from pg_control; it ought to be a GUC
  parameter, not a special case (not that it's implemented yet anyway).

* Suppress successive checkpoint records when nothing has been entered
  in the WAL log since the last one.  This is not so much to avoid I/O
  as to make it actually useful to keep track of the last two
  checkpoints.  If the things are right next to each other then there's
  not a lot of redundancy gained...

* Change CRC scheme to a true 64-bit CRC, not a pair of 32-bit CRCs
  on alternate bytes.  Polynomial borrowed from ECMA DLT1 standard.

* Fix XLOG record length handling so that it will work at BLCKSZ = 32k.

* Change XID allocation to work more like OID allocation.  (This is of
  dubious necessity, but I think it's a good idea anyway.)

* Fix a number of minor bugs, such as off-by-one logic for XLOG file
  wraparound at the 4 gig mark.

* Add documentation and clean up some coding infelicities; move file
  format declarations out to include files where planned contrib
  utilities can get at them.

* Checkpoint will now occur every CHECKPOINT_SEGMENTS log segments or
  every CHECKPOINT_TIMEOUT seconds, whichever comes first.  It is also
  possible to force a checkpoint by sending SIGUSR1 to the postmaster
  (undocumented feature...)

* Defend against kill -9 postmaster by storing shmem block's key and ID
  in postmaster.pid lockfile, and checking at startup to ensure that no
  processes are still connected to old shmem block (if it still exists).

* Switch backends to accept SIGQUIT rather than SIGUSR1 for emergency
  stop, for symmetry with postmaster and xlog utilities.  Clean up signal
  handling in bootstrap.c so that xlog utilities launched by postmaster
  will react to signals better.

* Standalone bootstrap now grabs lockfile in target directory, as added
  insurance against running it in parallel with live postmaster.
2001-03-13 01:17:06 +00:00
Peter Eisentraut
0dcd17702a Some editing, enhance markup, move description section before options list. 2001-03-06 18:55:57 +00:00
Bruce Momjian
4888d077be Shorten TOAST mention 2001-03-06 18:11:39 +00:00
Peter Eisentraut
668c598a30 Update/correct/refine. 2001-03-06 17:43:56 +00:00
Philip Warner
3df52c0c2a - Reflect change of option -U to -L 2001-03-06 05:22:50 +00:00
Philip Warner
d3464631e3 - Minor correction to usage 2001-03-06 05:22:18 +00:00
Peter Eisentraut
0ab27ad5e0 Add missing space, change some markup. 2001-03-05 19:00:39 +00:00
Peter Eisentraut
27d8dcd55f Sorry, that change was not correct. 2001-03-05 19:00:01 +00:00
Bruce Momjian
47065aec11 I'm attaching those diffs for the Reference Guide in a tar file, as
not all of them attached properly in the post I made a few minutes
ago. Please disregard those earlier files. The diffs in the tar file
replace them.

Pierce Tyler
2001-03-05 18:42:57 +00:00
Tom Lane
aee52a6de3 Document TEMP option. 2001-03-03 22:11:40 +00:00
Tom Lane
f35252de28 Fix pg_passwd's failure to cope with usernames > 8 chars. 2001-02-20 01:16:49 +00:00
Tom Lane
c3b00e7e29 Add --template option to createdb script to allow access to WITH TEMPLATE
option of CREATE DATABASE.  In pg_regress, create regression database
from template0 to ensure that any installation-local cruft in template1
will not mess up the tests.
2001-02-18 17:53:55 +00:00
Tom Lane
bf0078d257 Update obsolete wording of error message. 2001-02-15 21:11:17 +00:00
Peter Eisentraut
31d3e21edf Repair markup. 2001-02-11 01:41:00 +00:00
Bruce Momjian
d3fb67db26 Back out addition. Seems grammar doesn't handle CONSTRAINT as optional. 2001-02-10 16:41:30 +00:00
Bruce Momjian
a5dbde8b0a Add mention of CONSTRAINT in ADD CONSTRAINT section. 2001-02-10 16:39:07 +00:00
Bruce Momjian
b483ad84f8 Add -g as synonmym for --globals-only in pg_dumpall. Add info about
-c,--clean option to manual page.
2001-02-09 17:16:57 +00:00
Peter Eisentraut
088c0b9546 Make -w the default for shut down, add -W option to specify no wait.
Add -l option to name log file.  Set umask to 077.
Proper file descriptor redirection to allow postmaster to detach from
shell's process group.
Add -s option to turn off informational messages.
2001-02-08 19:39:24 +00:00
Tom Lane
2394083bd6 Minor copy-editing. 2001-02-07 20:46:55 +00:00
Peter Eisentraut
c1f5ed6394 When making xrefs to refsects, the linkend should point to the refsect and
the endterm to the title element, not both to the title.  At least
docbook2man prefers it that way.
2001-02-04 12:18:08 +00:00
Peter Eisentraut
251de13afd Improved wording, from Albert REINER <areiner@tph.tuwien.ac.at>. 2001-02-03 19:09:46 +00:00
Peter Eisentraut
dc7a0009f0 Add permission check for CHECKPOINT. 2001-01-27 10:19:52 +00:00
Peter Eisentraut
43bac8406a Update based on documentation written by Vadim Mikheev and Oliver Elphick. 2001-01-24 21:56:23 +00:00
Tom Lane
a2405d5554 Get rid of initdb -t bugs by the simple expedient of getting rid of
initdb -t.  This option is obsoleted by 7.1's ability to drop and
recreate template1 during normal operation.
2001-01-20 22:09:24 +00:00
Peter Eisentraut
74bbe8097d Replace some oldish, non-SQL'ish elements with more standard forms. (cast
syntax, type names, function names, etc.)
2001-01-20 20:59:29 +00:00
Peter Eisentraut
027f144e39 Terminology cleanup: class -> table, instance -> row, attribute -> column,
etc.
2001-01-13 23:58:55 +00:00
Peter Eisentraut
2a6c08228f New shell for the to be written CHECKPOINT documentation, so the summary
shows up in psql now.
2001-01-13 03:11:12 +00:00
Tom Lane
359459a44d Bring CREATE TABLE syntax synopsis into line with reality; update a
bunch of old or poorly-worded documentation.
2001-01-12 05:06:40 +00:00
Tom Lane
6334ef86a7 Document that we don't support ORDER BY with general expressions on
the output of UNION/INTERSECT/EXCEPT.
2001-01-08 21:30:37 +00:00
Tom Lane
96bd67f61d Bring CREATE RULE reference page into some semblance of agreement with
what's actually implemented.
2001-01-06 04:14:35 +00:00
Tom Lane
2fb6cc9045 Remove not-really-standard implementation of CREATE TABLE's UNDER clause,
and revert documentation to describe the existing INHERITS clause
instead, per recent discussion in pghackers.  Also fix implementation
of SQL_inheritance SET variable: it is not cool to look at this var
during the initial parsing phase, only during parse_analyze().  See
recent bug report concerning misinterpretation of date constants just
after a SET TIMEZONE command.  gram.y really has to be an invariant
transformation of the query string to a raw parsetree; anything that
can vary with time must be done during parse analysis.
2001-01-05 06:34:23 +00:00
Tom Lane
676cf18c5b New file format for COPY BINARY, in accordance with pghackers discussions
of early December 2000.  COPY BINARY is now TOAST-safe.
2001-01-03 20:04:10 +00:00
Peter Eisentraut
59e2bf3c69 Correct UNDER syntax. 2000-12-30 19:00:11 +00:00
Peter Eisentraut
8188a9bebf Refinements 2000-12-30 17:11:32 +00:00
Peter Eisentraut
dccfd74935 Refine some things to create better looking man pages. 2000-12-25 23:15:27 +00:00
Bruce Momjian
c6fc6cfa08 On Sunday 17 December 2000 15:07, Bruce Momjian wrote:
> We need additions to alter_table.sgml for the new OWNER option mention
> in the features list.

Here it is.

--
Mark Hollomon
2000-12-20 03:19:24 +00:00
Peter Eisentraut
28e9e9a24e Rename --accounts-only to --globals-only, polish documentation. 2000-12-19 22:12:47 +00:00
Bruce Momjian
36da236eb3 In 'Joins between classes' in Section 5 of the tutorial we have, in
the first paragraph:

    As an example, say we wish to find all the records that
    are in the  temperature  range  of  other records. In
    effect, we need to compare the temp_lo and temp_hi
    attributes of each EMP instance to the temp_lo and
    temp_hi  attributes of all other EMP instances.

I believe that EMP should read WEATHER, as the example query that
follows joins WEATHER to itself.

EMP is often used in Oracle examples.

Regards,
Graham

Other RULE cleanups
2000-12-12 16:47:52 +00:00
Tom Lane
1045304a3b Revise SELECT reference page for outer joins, subselect in FROM,
ISO-compliant UNION/INTERSECT/EXCEPT.  Revise discussion of rule
rewriter to reflect new subselect-in-FROM implementation of views.
Miscellaneous other cleanups.
2000-12-12 05:07:59 +00:00
Bruce Momjian
8651dc10a5 Add mention of \d+ to comment. 2000-12-10 21:56:00 +00:00
Bruce Momjian
57c499a463 Fix Westwood/Westward, from Wessel van Norel. 2000-12-08 20:11:11 +00:00
Tom Lane
b44e46cfce Remove error check that disallowed setval() on a sequence with cache
value greater than one.  The behavior this sought to disallow doesn't
seem any less confusing than the other behaviors of cached sequences.
Improve wording of some error messages, too.
Update documentation accordingly.  Also add an explanation that
aborted transactions do not roll back their nextval() calls; this
seems to be a FAQ, so it ought to be mentioned here...
2000-12-08 20:06:58 +00:00
Tom Lane
b7c3784417 Repair residual sillinesses from UUNET virtual host/socket path patch.
I hope all the dust has settled out now ...
2000-11-30 23:20:51 +00:00
Tom Lane
c715fdea26 Significant cleanups in SysV IPC handling (shared mem and semaphores).
IPC key assignment will now work correctly even when multiple postmasters
are using same logical port number (which is possible given -k switch).
There is only one shared-mem segment per postmaster now, not 3.
Rip out broken code for non-TAS case in bufmgr and xlog, substitute a
complete S_LOCK emulation using semaphores in spin.c.  TAS and non-TAS
logic is now exactly the same.
When deadlock is detected, "Deadlock detected" is now the elog(ERROR)
message, rather than a NOTICE that comes out before an unhelpful ERROR.
2000-11-28 23:27:57 +00:00
Peter Eisentraut
c25b4dbf03 Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
2000-11-25 17:17:30 +00:00
Peter Eisentraut
5b00ea9e50 Make SET SESSION CHARACTERISTICS compliant with SQL 99. Remove redundant,
non-standard clauses.  Allow CHARACTERISTICS as unquoted identifier.
Merge related reference pages.
2000-11-24 20:16:40 +00:00
Peter Eisentraut
b2e76d570b Revive Reference Manual, remove reference pages from User's Guide.
Make version.sgml the central place for updating version numbers in the
documentation.  Document titles now contain the version number of the
release they belong to.

filelist.sgml is the central (and only) place to declare system entities
(i.e., sgml files).  No longer a need to declare them in each document
header.

There is no longer any need to maintain duplicate chapter lists in
postgres.sgml and user/admin/etc.sgml, everything is build from the same
sources.  Some parameter entities allow for different text to be included
when the integrated or a single doc set is generated, which eliminates the
problems that had caused this to fail in the past.
2000-11-24 17:44:22 +00:00
Bruce Momjian
98e195d23b Make socket option specify just the directory, not the full path. 2000-11-22 01:41:14 +00:00
Philip Warner
aec962d864 Update for new pg_dump with blobs etc 2000-11-21 15:39:09 +00:00
Tom Lane
5bb2300b59 Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list.  Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention.  pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'.  A newstyle function must be identified
by an associated info routine.  See src/backend/utils/fmgr/README.
2000-11-20 20:36:57 +00:00
Peter Eisentraut
f6bc98679a Refinements 2000-11-18 19:05:58 +00:00
Peter Eisentraut
d807129503 Repair markup 2000-11-15 19:43:39 +00:00
Tom Lane
2cf48ca04b Extend CREATE DATABASE to allow selection of a template database to be
cloned, rather than always cloning template1.  Modify initdb to generate
two identical databases rather than one, template0 and template1.
Connections to template0 are disallowed, so that it will always remain
in its virgin as-initdb'd state.  pg_dumpall now dumps databases with
restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
This allows proper behavior when there is user-added data in template1.
initdb forced!
2000-11-14 18:37:49 +00:00
Peter Eisentraut
8a9315ca92 Update and polish postmaster and postgres help output and man pages. 2000-11-14 18:11:32 +00:00
Bruce Momjian
ab47254757 Add mention of hostname leading slash handling to all manual pages that use -h. 2000-11-13 23:57:20 +00:00
Bruce Momjian
ebd61ac03f Remove -k unix socketpath option from client side, allow hostname with
leading slash to behave as a unix socket path.
2000-11-13 23:37:54 +00:00
Bruce Momjian
2150c2edf1 UUNET is looking into offering PostgreSQL as a part of a managed web
hosting product, on both shared and dedicated machines.  We currently
offer Oracle and MySQL, and it would be a nice middle-ground.
However, as shipped, PostgreSQL lacks the following features we need
that MySQL has:

1. The ability to listen only on a particular IP address.  Each
   hosting customer has their own IP address, on which all of their
   servers (http, ftp, real media, etc.) run.
2. The ability to place the Unix-domain socket in a mode 700 directory.
   This allows us to automatically create an empty database, with an
   empty DBA password, for new or upgrading customers without having
   to interactively set a DBA password and communicate it to (or from)
   the customer.  This in turn cuts down our install and upgrade times.
3. The ability to connect to the Unix-domain socket from within a
   change-rooted environment.  We run CGI programs chrooted to the
   user's home directory, which is another reason why we need to be
   able to specify where the Unix-domain socket is, instead of /tmp.
4. The ability to, if run as root, open a pid file in /var/run as
   root, and then setuid to the desired user.  (mysqld -u can almost
   do this; I had to patch it, too).

The patch below fixes problem 1-3.  I plan to address #4, also, but
haven't done so yet.  These diffs are big enough that they should give
the PG development team something to think about in the meantime :-)
Also, I'm about to leave for 2 weeks' vacation, so I thought I'd get
out what I have, which works (for the problems it tackles), now.

With these changes, we can set up and run PostgreSQL with scripts the
same way we can with apache or proftpd or mysql.

In summary, this patch makes the following enhancements:

1. Adds an environment variable PGUNIXSOCKET, analogous to MYSQL_UNIX_PORT,
   and command line options -k --unix-socket to the relevant programs.
2. Adds a -h option to postmaster to set the hostname or IP address to
   listen on instead of the default INADDR_ANY.
3. Extends some library interfaces to support the above.
4. Fixes a few memory leaks in PQconnectdb().

The default behavior is unchanged from stock 7.0.2; if you don't use
any of these new features, they don't change the operation.

David J. MacKenzie
2000-11-13 15:18:15 +00:00
Peter Eisentraut
d55f878193 Markup enhancements, some factual corrections. 2000-11-11 23:01:45 +00:00
Bruce Momjian
66436e66e1 Update for createlang options in docs. 2000-11-04 21:09:41 +00:00
Bruce Momjian
4b71943bb2 Make PROCEDURAL optional in CREATE/DROP LANGUAGE. 2000-11-04 21:04:56 +00:00
Peter Eisentraut
b7f4c64202 Add pg_dumpall --accounts-only option. 2000-11-02 21:13:32 +00:00
Bruce Momjian
bc9b199c26 Change bool to boolean in docs. 2000-11-02 19:26:49 +00:00
Tom Lane
4f44aa04b5 Major overhaul of large-object implementation, by Denis Perchine with
kibitzing from Tom Lane.  Large objects are now all stored in a single
system relation "pg_largeobject" --- no more xinv or xinx files, no more
relkind 'l'.  This should offer substantial performance improvement for
large numbers of LOs, since there won't be directory bloat anymore.
It'll also fix problems like running out of locktable space when you
access thousands of LOs in one transaction.
Also clean up cruft in read/write routines.  LOs with "holes" in them
(never-written byte ranges) now work just like Unix files with holes do:
a hole reads as zeroes but doesn't occupy storage space.
INITDB forced!
2000-10-24 01:38:44 +00:00
Tom Lane
c82c9559a7 Minor updates/corrections for CREATE/DROP FUNCTION/AGGREGATE/OPERATOR. 2000-10-23 00:46:07 +00:00
Tom Lane
9ace03183c Some small polishing of Mark Hollomon's cleanup of DROP command: might
as well allow DROP multiple INDEX, RULE, TYPE as well.  Add missing
CommandCounterIncrement to DROP loop, which could cause trouble otherwise
with multiple DROP of items affecting same catalog entries.  Try to
bring a little consistency to various error messages using 'does not exist',
'nonexistent', etc --- I standardized on 'does not exist' since that's
what the vast majority of the existing uses seem to be.
2000-10-22 23:32:48 +00:00
Thomas G. Lockhart
039f3f1b05 Fix discrepency in field names.
Thanks to Henry "He Weiping (Laser Henry)" <laser@zhengmai.com.cn>
 for catching this.
2000-10-20 14:02:12 +00:00
Thomas G. Lockhart
1495f56770 Fix up id tag parameters to omit illegal underscores.
Remove lots of extraneous trailing ^Ms from pg_restore.sgml.
2000-10-20 13:44:39 +00:00
Bruce Momjian
73677dd92f The following patch was sent to the patches list:
This patch forces the use of 'DROP VIEW' to destroy views.

It also changes the syntax of DROP VIEW to
DROP VIEW v1, v2, ...
to match the syntax of DROP TABLE.

Some error messages were changed so this patch also includes changes to the
appropriate expected/*.out files.

Doc changes for 'DROP TABLE" and 'DROP VIEW' are included.


--
Mark Hollomon
2000-10-18 16:16:18 +00:00
Philip Warner
60dcf13ea1 Added pg_restore (probably rename later) 2000-10-18 13:29:23 +00:00
Philip Warner
3c0157deb8 Added pg_restore to allfiles.sgml 2000-10-16 03:34:47 +00:00
Bruce Momjian
5f94c032a3 Fix typo 2000-10-12 22:16:58 +00:00
Bruce Momjian
751d8ea175 Fix typo. 2000-10-12 22:08:42 +00:00
Bruce Momjian
e52f8688e0 Fix typo 2000-10-12 21:23:34 +00:00
Philip Warner
ceb6d01d76 First pass at docs for pg_restore 2000-10-12 14:09:37 +00:00
Bruce Momjian
2d606da3ce More pg_config updates. 2000-10-10 22:03:31 +00:00
Bruce Momjian
78f69862af Rename pg-config to pg_config to be consistent with other pg commands. 2000-10-10 22:01:55 +00:00
Bruce Momjian
1fe2b77d01 Add spaces to manual page. 2000-10-10 04:42:43 +00:00
Peter Eisentraut
e6ef738034 markup repair 2000-10-08 13:22:24 +00:00
Bruce Momjian
a759460178 New beos files. FAQ cleanup. 2000-10-07 14:16:02 +00:00
Bruce Momjian
be389bcf8f Final proofreader changes to docs. 2000-10-05 19:57:23 +00:00
Bruce Momjian
b32685a999 Add proofreader's changes to docs.
Fix misspelling of disbursion to dispersion.
2000-10-05 19:48:34 +00:00
Bruce Momjian
f5ab016923 Change with delimiters to using delimiters in psql manual page. 2000-09-27 11:56:16 +00:00
Bruce Momjian
a33bcf90b5 typo fix 2000-09-12 21:12:45 +00:00
Bruce Momjian
b5c0ab278b typo fix 2000-09-12 20:58:14 +00:00
Bruce Momjian
c3d2b49dfe datatype -> data type. 2000-09-12 20:52:08 +00:00
Thomas G. Lockhart
2ceee7a22b Fix inconsistancies in field names. From Tom Samplonius <tom@sdf.com>. 2000-09-12 05:30:06 +00:00
Bruce Momjian
67cd018e77 Startup is actually start-up. 2000-08-29 20:02:09 +00:00
Peter Eisentraut
9314141116 Add pg-config utility that stores some configuration parameters other
packages can use to configure their build.

E.g.,
$ pg-config --libdir
/usr/local/pgsql/lib

`pg-config --configure' stores the configure command line.
2000-08-26 13:08:16 +00:00
Thomas G. Lockhart
a5da56d320 Fix typos and inconsistancies found by He Weiping
(aka Henry) <laser@zhangmai.com.cn>.
Fix new problems in insert.sgml and create_function.sgml which kept jade
 from completing.
2000-08-25 15:17:50 +00:00
Tom Lane
0813fcbc08 Documentation updates to reflect TOAST and new-style fmgr. 2000-08-24 23:36:29 +00:00
Thomas G. Lockhart
2b6a35f7cd Fix several <ulink> tags which refer to e-mail addresses
but were missing the "mailto:" prefix.
Fix typo.
Thanks to Neil Conway <nconway@klamath.dyndns.org> for the heads-up.
2000-08-23 05:59:11 +00:00
Tom Lane
766fb7f707 Mop-up for removal of ':' and ';' operators ... like, say, actually
take 'em out of pg_operator.  Also remove from scan.l's set of legal
operator characters.  Update documentation.
2000-08-12 05:15:24 +00:00
Tom Lane
9426047021 Clean up bogosities in use of random(3) and srandom(3) --- do not assume
that RAND_MAX applies to them, since it doesn't.  Instead add a
config.h parameter MAX_RANDOM_VALUE.  This is currently set at 2^31-1
but could be auto-configured if that ever proves necessary.  Also fix
some outright bugs like calling srand() where srandom() is appropriate.
2000-08-07 00:51:42 +00:00
Bruce Momjian
f28ec8c5af more doc cleanups 2000-07-24 13:17:44 +00:00
Bruce Momjian
2019e24dd8 spell cleanups 2000-07-22 04:45:10 +00:00
Bruce Momjian
4140085adb spell cleanups 2000-07-22 04:30:27 +00:00
Bruce Momjian
ec37ea1cc1 Cleanups 2000-07-22 02:39:10 +00:00
Bruce Momjian
2f011a9c72 More doc cleanups, from book. 2000-07-21 18:51:24 +00:00
Bruce Momjian
c281847fcd More doc cleanups 2000-07-21 17:58:49 +00:00
Bruce Momjian
c62e961da1 Update for sh. 2000-07-21 14:51:00 +00:00
Bruce Momjian
c9537ca88f cleanup 2000-07-21 04:49:23 +00:00
Bruce Momjian
e78ec6f247 cleanup 2000-07-21 04:48:33 +00:00
Bruce Momjian
e440e7246d Cleanup 2000-07-21 04:42:28 +00:00
Bruce Momjian
268bdd7237 Cleanujp 2000-07-21 04:37:10 +00:00
Bruce Momjian
d07d5d8d01 Cleanup 2000-07-21 04:25:05 +00:00
Bruce Momjian
2aeb2c642c reference page cleanup 2000-07-21 03:38:22 +00:00