Commit Graph

182 Commits

Author SHA1 Message Date
Tom Lane
cd902b331d Change the rules for inherited CHECK constraints to be essentially the same
as those for inherited columns; that is, it's no longer allowed for a child
table to not have a check constraint matching one that exists on a parent.
This satisfies the principle of least surprise (rows selected from the parent
will always appear to meet its check constraints) and eliminates some
longstanding bogosity in pg_dump, which formerly had to guess about whether
check constraints were really inherited or not.

The implementation involves adding conislocal and coninhcount columns to
pg_constraint (paralleling attislocal and attinhcount in pg_attribute)
and refactoring various ALTER TABLE actions to be more like those for
columns.

Alex Hunsaker, Nikhil Sontakke, Tom Lane
2008-05-09 23:32:05 +00:00
Tom Lane
05a381add9 Add note pointing out that read-only commands no longer consume
command IDs.
2008-01-13 17:58:54 +00:00
Tom Lane
4c128303e0 Entity-ify a passel of & < > characters. Per gripe from Devrim. 2007-12-03 23:49:51 +00:00
Tom Lane
57da4cca27 Improve partitioning example, per Itagaki Takahiro. 2007-12-03 04:59:55 +00:00
Tom Lane
43da837eda Improve the manual's discussion of partitioning. Recommend using a
trigger instead of a rule to redirect insertions, use NEW.* notation
where appropriate, some other updates and adjustments.  David Fetter
and Tom Lane
2007-12-02 19:20:32 +00:00
Peter Eisentraut
9293425819 spell checker run 2007-11-28 15:42:31 +00:00
Tom Lane
4c2d3ccf8a Add a caveat pointing out that constraint exclusion doesn't work with
constraints the planner is unable to disprove, hence simple btree-compatible
conditions should be used.  We've seen people try to get cute with stuff
like date_part(something) = something at least twice now.  Even if we
wanted to try to teach predtest.c about the properties of date_part,
most of the useful variants aren't immutable so nothing could be proved.
2007-06-20 23:11:38 +00:00
Neil Conway
dfcf99bf93 Fix a bunch of bad grammar in the docs: "<link>, which see for more
information" is un-good English.
2007-05-15 19:43:51 +00:00
Neil Conway
75b4ee1cd1 Fix some typos in the documentation. Patch from Brian Gough. Backport
the relevant fixes to 8.2 as well.
2007-05-03 15:05:56 +00:00
Bruce Momjian
09a9f10e7f Consistenly use colons before '<programlisting>' blocks, where
appropriate.
2007-02-01 00:28:19 +00:00
Bruce Momjian
a134ee3379 Update documentation on may/can/might:
Standard English uses "may", "can", and "might" in different ways:

        may - permission, "You may borrow my rake."

        can - ability, "I can lift that log."

        might - possibility, "It might rain today."

Unfortunately, in conversational English, their use is often mixed, as
in, "You may use this variable to do X", when in fact, "can" is a better
choice.  Similarly, "It may crash" is better stated, "It might crash".

Also update two error messages mentioned in the documenation to match.
2007-01-31 20:56:20 +00:00
Bruce Momjian
24b1f14eae Clarify wording on when ctid is modified by VACUUM FULL. 2006-12-30 20:31:11 +00:00
Tom Lane
e1b8a55ec8 Remove caveat about avoiding cross-type operators in constraints intended
for use with constraint exclusion.  We can prove those cases now...
2006-12-28 20:02:38 +00:00
Tom Lane
c15de02f61 Fix inheritance description to note that not-null constraints are
inherited, per Taiki Yamaguchi.
2006-11-28 01:09:01 +00:00
Bruce Momjian
150328cd61 I noticed that the Partitioning section of the docs has *two* sections
of caveats in different places, but close together. One called caveats,
one not. That looks like it just led to somebody not reading some
appropriate caveats in the second group of caveats (on -admin).

Simon Riggs
2006-11-21 03:44:55 +00:00
Peter Eisentraut
0f763503ff Spellchecking and such 2006-10-23 18:10:32 +00:00
Tom Lane
fa5d08fbf8 Some desultory copy-editing. 2006-10-22 03:03:41 +00:00
Bruce Momjian
389fad1e6b Remove use of '<' and '>' in SGML, use '&' escapes.
Update find_gt_lt to allow grep parameters to be passed into it.
2006-10-16 17:28:03 +00:00
Tom Lane
f58eac82ee Code and docs review for ALTER TABLE INHERIT/NO INHERIT patch. 2006-10-13 21:43:19 +00:00
Tom Lane
c59487cfb3 Fix bogus markup. 2006-09-20 21:30:20 +00:00
Neil Conway
c62172100b Improvements to the partitioning documentation. Original patch from Greg
Stark, additional fixes and editorialization by Neil Conway. Greg's patch
description:

    Some more doc patches for partitioned tables. In particular replace
    the caveat that INCLUDING CONSTRAINTS doesn't exist and replace it
    with documentation of, well, INCLUDING CONSTRAINTS.

    Also, there was an instance of "LIKE WITH DEFAULTS" which is
    actually spelled "LIKE INCLUDING DEFAULTS".
2006-09-20 01:20:38 +00:00
Tom Lane
7bae5a289c Get rid of the separate RULE privilege for tables: now only a table's owner
can create or modify rules for the table.  Do setRuleCheckAsUser() while
loading rules into the relcache, rather than when defining a rule.  This
ensures that permission checks for tables referenced in a rule are done with
respect to the current owner of the rule's table, whereas formerly ALTER TABLE
OWNER would fail to update the permission checking for associated rules.
Removal of separate RULE privilege is needed to prevent various scenarios
in which a grantee of RULE privilege could effectively have any privilege
of the table owner.  For backwards compatibility, GRANT/REVOKE RULE is still
accepted, but it doesn't do anything.  Per discussion here:
http://archives.postgresql.org/pgsql-hackers/2006-04/msg01138.php
2006-09-05 21:08:36 +00:00
Neil Conway
a10fc5f254 Minor doc tweak: replace a "--" with "&mdash;". 2006-07-14 00:13:05 +00:00
Tom Lane
feed07350b Fix broken markup. 2006-07-03 16:43:14 +00:00
Bruce Momjian
8c092781f4 ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark
2006-07-02 01:58:36 +00:00
Tom Lane
82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
2006-04-30 21:15:33 +00:00
Bruce Momjian
efe3de07e9 Removes or minimizes some documentation mentions of backward
compatibility for release 7.2 and earlier.  I have not altered any
mentions of release 7.3 or later.  The release notes were not modified,
so the changes are still documented, just not in the main docs.
2006-04-23 03:39:52 +00:00
Neil Conway
8c5dfbabff Minor SGML style police work. 2006-02-18 23:14:45 +00:00
Bruce Momjian
04a2b54c09 Revert patch becaues of locking concerns:
Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME

Joachim Wieland
2006-02-12 19:11:01 +00:00
Bruce Momjian
a02f6ce33b Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
Joachim Wieland
2006-02-11 22:17:19 +00:00
Tom Lane
3893127431 Fix constraint exclusion to work in inherited UPDATE/DELETE queries
... in fact, it will be applied now in any query whatsoever.  I'm still
a bit concerned about the cycles that might be expended in failed proof
attempts, but given that CE is turned off by default, it's the user's
choice whether to expend those cycles or not.  (Possibly we should
change the simple bool constraint_exclusion parameter to something
more fine-grained?)
2006-02-04 23:03:20 +00:00
Bruce Momjian
e80f9dfa80 Add quotes around search_path "$user" so that SHOW output can be used in
SET.
2005-12-23 00:38:04 +00:00
Tom Lane
fd68553860 Editorial review for partitioning/constraint exclusion documentation. 2005-11-04 23:53:18 +00:00
Peter Eisentraut
39dfbe5791 Spellchecking run, final cleanups 2005-11-04 23:14:02 +00:00
Tom Lane
03381695c6 Avoid referring to a specific version of the SQL standard except where
necessary, and be careful to refer to the right version where it is
useful to do so.  This partially reverts an ill-considered search and
replace from a few months ago.
2005-11-04 02:56:31 +00:00
Neil Conway
8bd1cbb86d Some minor improvements to the CE docs. Also fix a bit of SGML markup
elsewhere.
2005-11-03 00:51:43 +00:00
Neil Conway
eddcd492fe Add some documentation for constraint exclusion and basic partitioning.
From Simon Riggs; cleanup and editorialization by Neil Conway.
2005-11-01 23:19:05 +00:00
Tom Lane
7d3ab8ac55 A bit of minor copy-editing. 2005-10-23 19:29:49 +00:00
Bruce Momjian
abecf1afc2 Add documentation:
>>>I think a more accurate description would be "permissions not
>>>inherited by children," and that isn't necessarily a bug.
>>
>>I agree it may not be a bug - but it's more than the permissions not
>>being inherited: the parent is affected.
>
>
> Not really, once you understand what's happening.  Unless you use
> FROM ONLY, selecting from the parent selects from the parent *and*
> its children.  The parent itself isn't affected, as queries with
> FROM ONLY should demonstrate.  I understand what you're saying --
> that there's an apparent effect on the parent -- but there really
> isn't.

Sean Burlington
2005-08-13 01:55:41 +00:00
Tom Lane
721e53785d Solve the problem of OID collisions by probing for duplicate OIDs
whenever we generate a new OID.  This prevents occasional duplicate-OID
errors that can otherwise occur once the OID counter has wrapped around.
Duplicate relfilenode values are also checked for when creating new
physical files.  Per my recent proposal.
2005-08-12 01:36:05 +00:00
Neil Conway
c3f1b0f4dd This doc patch replaces all inappropriate references to SQL:1999 when it
is used as if it were the latest (and/or still valid) SQL standard.
SQL:2003 is used in its place. Patch from Simon Riggs.
2005-07-14 06:17:36 +00:00
Neil Conway
8c05ca7754 SGML cleanup: consistently use "endterm" in <xref>s that link to the
reference page for SQL commands, so that the link text is italicized.
2005-06-13 02:40:08 +00:00
Neil Conway
ff02d0a052 Make default_with_oids default to false -- user-created tables will now
no longer include OIDs, unless WITH OIDS is specified or the
default_with_oids configuration parameter is enabled. Update the docs
accordingly.
2005-03-13 09:36:31 +00:00
Bruce Momjian
1ced129aa3 More < and > cleanups converted to ampersands. 2005-01-22 22:56:36 +00:00
Tom Lane
9175d7df66 Some more copy-editing. 2005-01-17 01:29:02 +00:00
Tom Lane
7bbdb078bd Update discussion of ALTER TABLE ADD COLUMN, per Michael Fuhr. 2005-01-09 17:47:30 +00:00
Tom Lane
cef2cc50b5 Some small docs improvements motivated by reading the comments for the
7.4 interactive docs.
2005-01-08 01:44:08 +00:00
Tom Lane
f8ffb60492 A small pass of docs review and copy-editing. 2004-12-23 05:37:40 +00:00
Peter Eisentraut
5ec30faee6 Spell checker run 2004-12-13 18:05:10 +00:00
Peter Eisentraut
49cbef7947 Update of conformance information to SQL:2003
by Troels Arvin, Simon Riggs, Elein Mustain

Make spelling of SQL standard names uniform.
2004-11-27 21:27:08 +00:00
Neil Conway
ec7a6bd9a2 Replace "--" and "---" with "&mdash;" as appropriate, for better-looking
output.
2004-11-15 06:32:15 +00:00
Tom Lane
12a47c6aca Disallow referential integrity actions from being deferred; only the
NO ACTION check is deferrable.  This seems to be a closer approximation
to what the SQL spec says than what we were doing before, and it prevents
some anomalous behaviors that are possible now that triggers can fire
during the execution of PL functions.
Stephan Szabo.
2004-10-21 21:33:59 +00:00
Tom Lane
35a5fb6863 Move expanded discussion of inheritance's limitations out of tutorial
and into ddl.sgml.  Rewrite for more completeness and (hopefully)
clarity.
2004-08-08 21:33:11 +00:00
Tom Lane
27fedc8a5e Improve privileges discussion (mostly, mention grant options). 2004-08-07 20:44:50 +00:00
Tom Lane
82433e913c Update a couple of example error messages to reflect the fact that we
don't generate constraint names like "$1" anymore.
2004-08-07 19:53:48 +00:00
Tom Lane
58c41712d5 Add functions pg_start_backup, pg_stop_backup to create backup label
and history files as per recent discussion.  While at it, remove
pg_terminate_backend, since we have decided we do not have time during
this release cycle to address the reliability concerns it creates.
Split the 'Miscellaneous Functions' documentation section into
'System Information Functions' and 'System Administration Functions',
which hopefully will draw the eyes of those looking for such things.
2004-08-03 20:32:36 +00:00
Neil Conway
5ae38167cf Improve discussion of using OIDs for identifying rows, fix an instance of
incorrect SGML markup.
2004-03-07 04:31:01 +00:00
PostgreSQL Daemon
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Peter Eisentraut
cf87eb4726 Upgrade to DocBook V4.2 SGML. 2003-11-24 19:08:02 +00:00
Tom Lane
e560dd3537 Minor copy-editing. 2003-11-05 00:05:32 +00:00
Peter Eisentraut
1d27de4cf4 Random copy-editing. 2003-11-04 09:55:39 +00:00
Peter Eisentraut
8442a92e5a Spell checking, consistent terminology. 2003-11-01 01:56:29 +00:00
Tom Lane
50cb974068 Adjust wording to avoid giving the impression that schema USAGE
privilege hides system catalog entries.
2003-10-28 20:18:09 +00:00
Tom Lane
6e59122490 Update obsolete examples of error messages; various other minor editing. 2003-09-12 22:17:24 +00:00
Peter Eisentraut
c326d8f4f2 Add/edit index entries. 2003-08-31 17:32:24 +00:00
Tom Lane
0684043e39 Minor copy-editing. 2003-08-14 23:13:27 +00:00
Tom Lane
18c10877a9 Make various links point to specific places instead of entire parts
(doubtless these are hangovers from the old separate-books days).
2003-08-10 01:20:34 +00:00
Tom Lane
6165a278e5 Fix erroneous example, per Tim Knowles. 2003-05-07 03:41:31 +00:00
Peter Eisentraut
5e5c5cd31a Merge documentation into one book. (Build with "make html".) Replace
vague cross-references with real links.
2003-03-25 16:15:44 +00:00
Peter Eisentraut
706a32cdf6 Big editing for consistent content and presentation. 2003-03-13 01:30:29 +00:00
Bruce Momjian
cde8bbc413 This patch makes the following changes to the documentation:
- more work from the SGML police

- some grammar improvements: rewriting a paragraph or two, replacing
contractions where (IMHO) appropriate

- fix missing utility commands in lock mode docs

- improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages

Neil Conway
2003-02-19 04:06:28 +00:00
Bruce Momjian
4996eea81c This patch includes more SGML markup fixes as well as a few minor
additions to the docs.

Neil Conway
2003-02-19 03:13:25 +00:00
Bruce Momjian
da8149032a SGML improvements.
Neil Conway
2002-11-15 03:11:18 +00:00
Peter Eisentraut
1b342df00a Merge documentation updates from 7.3 branch. 2002-11-11 20:14:04 +00:00
Tom Lane
3a0fde3b51 Make link to schema inspection functions more clear. 2002-10-24 21:10:58 +00:00
Peter Eisentraut
266a280584 Add introductory sections explaining what each book is about. Remove Y2K
statement.
2002-10-24 17:48:54 +00:00
Tom Lane
c918be6a17 Update description of numeric constants to match 7.3 reality.
Miscellaneous other copy-editing.
2002-10-20 05:05:46 +00:00
Peter Eisentraut
bc49968764 Add more appropriate markup. 2002-09-21 18:32:54 +00:00
Peter Eisentraut
6d77f6e5fb Add more information about schemas. Combines some previously existing
material into the new location.
2002-09-12 22:05:36 +00:00
Peter Eisentraut
04604fd1a4 Fill in section on table modification. 2002-09-05 21:32:23 +00:00
Bruce Momjian
1923816c37 Add mention of foreign key dependency and SERIAL in 7.2 data restores.
Note can probably be removed after a couple of releases.

Rod Taylor
2002-08-28 20:17:44 +00:00
Peter Eisentraut
35cd432b18 Forgot to add/remove files. 2002-08-05 19:44:58 +00:00