Commit Graph

6543 Commits

Author SHA1 Message Date
Bruce Momjian
f9a726aa88 I've created a new shared catalog table pg_shdescription to store
comments on cluster global objects like databases, tablespaces, and
roles.

It touches a lot of places, but not much in the way of big changes.  The
only design decision I made was to duplicate the query and manipulation
functions rather than to try and have them handle both shared and local
comments.  I believe this is simpler for the code and not an issue for
callers because they know what type of object they are dealing with.
This has resulted in a shobj_description function analagous to
obj_description and backend functions [Create/Delete]SharedComments
mirroring the existing [Create/Delete]Comments functions.

pg_shdescription.h goes into src/include/catalog/

Kris Jurka
2006-02-12 03:22:21 +00:00
Bruce Momjian
07bae9c099 Please find enclosed a patch that lets you use \c to connect
(optionally) to a new host and port without exiting psql.  This
eliminates, IMHO, a surprise in that you can now connect to PostgreSQL
on a differnt machine from the one where you started your session. This
should help people who use psql as an administrative tool.

David Fetter
2006-02-12 02:54:30 +00:00
Tom Lane
fd267c1ebc Skip ambulkdelete scan if there's nothing to delete and the index is not
partial.  None of the existing AMs do anything useful except counting
tuples when there's nothing to delete, and we can get a tuple count
from the heap as long as it's not a partial index.  (hash actually can
skip anyway because it maintains a tuple count in the index metapage.)
GIST is not currently able to exploit this optimization because, due to
failure to index NULLs, GIST is always effectively partial.  Possibly
we should fix that sometime.
Simon Riggs w/ some review by Tom Lane.
2006-02-11 23:31:34 +00:00
Bruce Momjian
a02f6ce33b Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
Joachim Wieland
2006-02-11 22:17:19 +00:00
Bruce Momjian
3fcb38f031 Done:
> 	o -Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
2006-02-11 22:17:17 +00:00
Bruce Momjian
97d37b7a22 Done:
< 	o Improve psql's handling of multi-line statements
> 	o -Improve psql's handling of multi-line statements
2006-02-11 21:55:49 +00:00
Bruce Momjian
642c8cc470 Done:
> * -Allow INET + INT8 to increment the host part of the address or
2006-02-11 03:33:36 +00:00
Bruce Momjian
1372515271 Add INET/CIDR operators: and, or, not, plus int8, minus int8, and inet
minus inet.

Stephen R. van den Berg
2006-02-11 03:32:41 +00:00
Bruce Momjian
af03b689dd Done:
< 	o Allow multi-line column values to align in the proper columns
> 	o -Allow multi-line column values to align in the proper columns
2006-02-10 04:14:17 +00:00
Tom Lane
7ae2ccbc85 Reject out-of-range dates in date_in().
Kris Jurka
2006-02-09 03:39:17 +00:00
Bruce Momjian
15be0b8cd1 Remove question mark:
< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing default expression of a SERIAL column
2006-02-07 14:49:17 +00:00
Bruce Momjian
04a942e31e Split up wal-logging items:
< * Allow control over which tables are WAL-logged [walcontrol]
> * Allow WAL logging to be turned off for a table, but the table
>   might be dropped or truncated during crash recovery [walcontrol]
<   commit.  To do this, only a single writer can modify the table, and
<   writes must happen only on new pages.  Readers can continue accessing
<   the table.  This would affect COPY, and perhaps INSERT/UPDATE too.
<   Another option is to avoid transaction logging entirely and truncate
<   or drop the table on crash recovery.  These should be implemented
<   using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE |
<   STABLE | DEFAULT ].  Tables using non-default logging should not use
<   referential integrity with default-logging tables, and tables using
<   stable logging probably can not have indexes.  One complexity is
<   the handling of indexes on TOAST tables.
>   commit.  This should be implemented using ALTER TABLE, e.g. ALTER
>   TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ].  Tables using
>   non-default logging should not use referential integrity with
>   default-logging tables.  A table without dirty buffers during a
>   crash could perhaps avoid the drop/truncate.
>
> * Allow WAL logging to be turned off for a table, but the table would
>   avoid being truncated/dropped [walcontrol]
>
>   To do this, only a single writer can modify the table, and writes
>   must happen only on new pages so the new pages can be removed during
>   crash recovery.  Readers can continue accessing the table.  Such
>   tables probably cannot have indexes.  One complexity is the handling
>   of indexes on TOAST tables.
2006-02-07 02:08:08 +00:00
Bruce Momjian
db5e39b2f0 Fix typo in configuration docs.
Devrim GUNDUZ
2006-02-05 18:19:14 +00:00
Bruce Momjian
354213c7f4 Update PL/pgSQL trigger example to be clearer about how to "merge" data
into a table.

Jim C. Nasby
2006-02-05 02:47:53 +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
Tom Lane
48d9ad3722 Fix broken markup. 2006-02-04 22:38:39 +00:00
Andrew Dunstan
f8b54fe6ed DROP IF EXISTS for ROLE/USER/GROUP 2006-02-04 19:06:47 +00:00
Peter Eisentraut
3fa9c416ed Issue a warning if a change-on-restart-only postgresql.conf value is
modified  and the server config files are reloaded
2006-02-04 12:50:47 +00:00
Bruce Momjian
bc6a824ca6 Update walcontrol item:
< * Allow control over which tables are WAL-logged
> * Allow control over which tables are WAL-logged [walcontrol]
1038c1038,1039
<   stable logging probably can not have indexes.  [walcontrol]
>   stable logging probably can not have indexes.  One complexity is
>   the handling of indexes on TOAST tables.
2006-02-04 03:23:21 +00:00
Bruce Momjian
3f8984039a Add to TODO.detail/walcontrol. 2006-02-04 03:22:36 +00:00
Bruce Momjian
bd5d12a16b Add:
> * Allow statistics collector information to be pulled from the collector
>   process directly, rather than requiring the collector to write a
>   filesystem file twice a second?
2006-02-01 17:32:45 +00:00
Bruce Momjian
c6ef3264be Move items:
> * Add SQL99 WITH clause to SELECT
> * Add SQL99 WITH RECURSIVE to SELECT
< * Add SQL99 WITH clause to SELECT
< * Add SQL99 WITH RECURSIVE to SELECT
2006-02-01 00:07:26 +00:00
Bruce Momjian
5eb29fea25 Add:
>
> 	o Prevent tab completion of SET TRANSACTION from querying the
> 	  database and therefore preventing the transaction isolation
> 	  level from being set.
>
> 	  Currently, SET <tab> causes a database lookup to check all
> 	  supported session variables.  This query causes problems
> 	  because setting the transaction isolation level must be the
> 	  first statement of a transaction.
2006-02-01 00:03:09 +00:00
Michael Meskes
097df388b7 Removed single quotes from connect to example. 2006-01-31 13:32:20 +00:00
Bruce Momjian
3125321934 Done:
< * %Prevent INET cast to CIDR if the unmasked bits are not zero, or
<   zero the bits
< * %Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
> * -Zero umasked bits in conversion from INET cast to CIDR
> * -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
2006-01-26 02:50:11 +00:00
Tom Lane
8d8bf12760 Clean up the INET-vs-CIDR situation. Get rid of the internal is_cidr flag
and rely exclusively on the SQL type system to tell the difference between
the types.  Prevent creation of invalid CIDR values via casting from INET
or set_masklen() --- both of these operations now silently zero any bits
to the right of the netmask.  Remove duplicate CIDR comparison operators,
letting the type rely on the INET operators instead.
2006-01-26 02:35:51 +00:00
Tom Lane
726b42abd0 Improve wording of descriptions of SIGHUP GUC parameters, as per my
suggestion a couple days ago.  Fix some cases in which the documentation
neglected to mention any restriction on when a parameter can be set.
Try to be consistent about calling parameters parameters; use the term
option only for command-line switches.
2006-01-23 18:16:41 +00:00
Bruce Momjian
1bdc5ab2da Done:
< 	o Allow an alias to be provided for the target table in
< 	  UPDATE/DELETE
<
< 	  This is not SQL-spec but many DBMSs allow it.
<
> 	o -Allow an alias to be provided for the target table in
> 	  UPDATE/DELETE (Neil)
2006-01-23 02:59:27 +00:00
Tom Lane
16c5a471a3 Improve note about not using the target table name in the SET clause.
It's not related to whether an alias is used or not.
2006-01-22 20:34:11 +00:00
Neil Conway
1d763d9107 Allow an optional alias for the target table to be specified for UPDATE
and DELETE. If specified, the alias must be used instead of the full
table name. Also, the alias currently cannot be used in the SET clause
of UPDATE.

Patch from Atsushi Ogawa, various editorialization by Neil Conway.
Along the way, make the rowtypes regression test pass if add_missing_from
is enabled, and add a new (skeletal) regression test for DELETE.
2006-01-22 05:20:35 +00:00
Neil Conway
57a84ca48e Minor improvements to GEQO documentation. 2006-01-22 03:56:58 +00:00
Tom Lane
b42f307340 Marginal improvements in the wording of the autovacuum documentation:
be consistent about whether it's called a daemon or a subprocess, and
don't describe the autovacuum setting in exactly the same way as the
stats_start_collector setting, because that leaves people thinking (if
they aren't paying close attention) that autovacuum can't be changed
on the fly.
2006-01-21 19:34:42 +00:00
Tom Lane
27959dd746 Fix broken markup. 2006-01-21 19:05:59 +00:00
Bruce Momjian
4789e98801 Add GRANT ON SEQUENCE syntax to support sequence-only permissions.
Continue to support GRANT ON [TABLE] for sequences for backward
compatibility;  issue warning for invalid sequence permissions.

[Backward compatibility warning message.]

Add USAGE permission for sequences that allows only currval() and
nextval(), not setval().

Mention object name in grant/revoke warnings because of possible
multi-object operations.
2006-01-21 02:16:21 +00:00
Bruce Momjian
138fdf32bb Update EXPLAIN wording for GEQO usage. 2006-01-20 16:41:55 +00:00
Bruce Momjian
cd5d464e9f Doc patch that adds an example of a correllated UPDATE.
David Fetter
2006-01-19 23:09:42 +00:00
Bruce Momjian
807cb000f6 Clarify STABLE function documentation to highlight how such functions
can be optimized.
2006-01-19 22:52:08 +00:00
Bruce Momjian
7259cc1e7e Clarify use of btree indexes for ILIKE and ~*. 2006-01-18 21:29:45 +00:00
Bruce Momjian
ccebb6745e You'll find attached a patch for a fixed explanation on parameter_mode
column, OUT and INOUT added.

Guillaume LELARGE
2006-01-18 21:02:55 +00:00
Bruce Momjian
e1af35afac Done:
> 	o -Allow pooled connections to list all open WITH HOLD cursors
2006-01-18 14:20:22 +00:00
Neil Conway
33e06ebccb Add a new system view, pg_cursors, that displays the currently available
cursors. Patch from Joachim Wieland, review and ediorialization by Neil
Conway. The view lists cursors defined by DECLARE CURSOR, using SPI, or
via the Bind message of the frontend/backend protocol. This means the
view does not list the unnamed portal or the portal created to implement
EXECUTE. Because we do list SPI portals, there might be more rows in
this view than you might expect if you are using SPI implicitly (e.g.
via a procedural language).

Per recent discussion on -hackers, the query string included in the
view for cursors defined by DECLARE CURSOR is based on
debug_query_string. That means it is not accurate if multiple queries
separated by semicolons are submitted as one query string. However,
there doesn't seem a trivial fix for that: debug_query_string
is better than nothing. I also changed SPI_cursor_open() to include
the source text for the portal it creates: AFAICS there is no reason
not to do this.

Update the documentation and regression tests, bump the catversion.
2006-01-18 06:49:30 +00:00
Bruce Momjian
e38217d1ec Improve constraint_name wording. 2006-01-16 20:48:49 +00:00
Bruce Momjian
a0ae3dbacb Add markup for new constraint_name mention. 2006-01-16 19:53:12 +00:00
Bruce Momjian
9200318972 Add documentaiotn mention that constraint names can be sentences that
can convey information to clients on constraint violation.
2006-01-16 19:50:03 +00:00
Neil Conway
b06e6f1a9a Change the parameter_types column of the pg_prepared_statements to be
an array of regtype, rather than an array of OIDs. This is likely to
be more useful to user, and the type OID can easily be obtained by
casting a regtype value to OID. Per suggestion from Tom.

Update the documentation and regression tests, and bump the catversion.
2006-01-16 18:15:31 +00:00
Neil Conway
106a3695f5 Allow the types of parameters to PREPARE to be inferred. If a parameter's
data type is unspecified or is declared to be "unknown", the type will
be inferred from the context in which the parameter is used. This was
already possible for protocol-level prepared statements.
2006-01-15 22:18:47 +00:00
Tom Lane
7d6d02b640 Document that CREATE OPERATOR CLASS amounts to granting public execute
permissions on the functions and operators contained in the opclass.
Since we already require superuser privilege to create an operator class,
there's no expansion-of-privilege hazard here, but if someone were to get
the idea of building an opclass containing functions that need security
restrictions, we'd better warn them off.  Also, change the permission
checks from have-execute-privilege to have-ownership, and then comment
them all out since they're dead code anyway under the superuser restriction.
2006-01-13 18:10:25 +00:00
Tom Lane
1564e92cea Require the issuer of CREATE TYPE to own the functions mentioned in the
type definition.  Because use of a type's I/O conversion functions isn't
access-checked, CREATE TYPE amounts to granting public execute permissions
on the functions, and so allowing it to anybody means that someone could
theoretically gain access to a function he's not supposed to be able to
execute.  The parameter-type restrictions already enforced by CREATE TYPE
make it fairly unlikely that this oversight is meaningful in practice,
but still it seems like a good idea to plug the hole going forward.
Also, document the implicit grant just in case anybody gets the idea of
building I/O functions that might need security restrictions.
2006-01-13 18:06:45 +00:00
Tom Lane
9484e14c5c Remove extraneous backslash from 'fixseq.sql' example --- mea culpa
certainly.  Per report from George Woodring.
2006-01-12 18:09:24 +00:00
Tom Lane
445144b8c2 Update comment about outer joins in description of geqo_threshold. 2006-01-11 23:14:29 +00:00
Neil Conway
416689c866 Documentation tweak: add spaces around the brackets in the description
of the CREATE CONVERSION syntax, for consistency with the other SQL
reference pages.
2006-01-11 22:16:39 +00:00
Bruce Momjian
9545d66a97 Done:
> * -Add sleep() function, remove from regress.c
2006-01-11 20:28:21 +00:00
Tom Lane
782eefc580 Create a standard function pg_sleep() to sleep for a specified amount of time.
Replace the former ad-hoc implementation used in the regression tests.
Joachim Wieland
2006-01-11 20:12:43 +00:00
Bruce Momjian
42ff6a04d8 Done:
< * %Allow pooled connections to list all prepared statements
> * -%Allow pooled connections to list all prepared statements
2006-01-09 22:43:23 +00:00
Neil Conway
44b928e876 Add a new system view, pg_prepared_statements, that can be used to
access information about the prepared statements that are available
in the current session. Original patch from Joachim Wieland, various
improvements by Neil Conway.

The "statement" column of the view contains the literal query string
sent by the client, without any rewriting or pretty printing. This
means that prepared statements created via SQL will be prefixed with
"PREPARE ... AS ", whereas those prepared via the FE/BE protocol will
not. That is unfortunate, but discussion on -patches did not yield an
efficient way to improve this, and there is some merit in returning
exactly what the client sent to the backend.

Catalog version bumped, regression tests updated.
2006-01-08 07:00:27 +00:00
Tom Lane
615d99feb4 Release-note updates and copy editing. 2006-01-06 02:59:57 +00:00
Tom Lane
bf7faa7c8f Fix broken markup. 2006-01-06 01:35:09 +00:00
Bruce Momjian
6d41b144e9 Add:
>
> 	* Allow SERIAL sequences to inherit permissions from the base table?
2006-01-05 17:47:53 +00:00
Bruce Momjian
9a47ad1d20 Add logging control TODO.detail. 2006-01-05 17:28:45 +00:00
Bruce Momjian
db6cb1a9a9 Update:
<   stable logging probably can not have indexes.  [wallog]
>   stable logging probably can not have indexes.  [walcontrol]
2006-01-05 16:39:54 +00:00
Bruce Momjian
ac9e14d064 Update wording:
<   STABLE | DEFAULT ].  [wallog]
>   STABLE | DEFAULT ].  Tables using non-default logging should not use
>   referential integrity with default-logging tables, and tables using
>   stable logging probably can not have indexes.  [wallog]
2006-01-05 16:35:19 +00:00
Bruce Momjian
e7893db5cf Update wording:
<   the table. Another option is to avoid transaction logging entirely
<   and truncate or drop the table on crash recovery.  These should be
<   implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
<   TRUNCATE | STABLE | DEFAULT ].  [wallog]
>   the table.  This would affect COPY, and perhaps INSERT/UPDATE too.
>   Another option is to avoid transaction logging entirely and truncate
>   or drop the table on crash recovery.  These should be implemented
>   using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE |
>   STABLE | DEFAULT ].  [wallog]
2006-01-05 16:26:49 +00:00
Bruce Momjian
1b736817d0 Add:
>
> * Allow control over which tables are WAL-logged
>
>   Allow tables to bypass WAL writes and just fsync() dirty pages on
>   commit.  To do this, only a single writer can modify the table, and
>   writes must happen only on new pages.  Readers can continue accessing
>   the table. Another option is to avoid transaction logging entirely
>   and truncate or drop the table on crash recovery.  These should be
>   implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
>   TRUNCATE | STABLE | DEFAULT ].  [wallog]
2006-01-05 16:23:48 +00:00
Bruce Momjian
04236bb296 New pgcrypto item wording. 2006-01-05 15:19:05 +00:00
Bruce Momjian
3002492fc7 Update item:
< * %Remove behavior of postmaster -o after making postmaster/postgres
<   flags unique
> * %Remove behavior of postmaster -o
2006-01-05 15:13:32 +00:00
Bruce Momjian
8b2b1d87f8 Wording improvements. 2006-01-05 15:12:36 +00:00
Bruce Momjian
1c59af06db Improve markup. 2006-01-05 14:53:47 +00:00
Peter Eisentraut
86c23a6eb2 Make all command-line options of postmaster and postgres the same. See
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
2006-01-05 10:07:46 +00:00
Bruce Momjian
4e1712ea54 Update release notes for 8.1.X, 8.0.X, 7.4.X, and 7.3.X. 2006-01-05 05:15:50 +00:00
Bruce Momjian
0dc43870ae Update version number. 2006-01-05 03:55:13 +00:00
Bruce Momjian
9be5beb918 Done:
> * -Remove BeOS and QNX-specific code
2006-01-05 03:02:03 +00:00
Bruce Momjian
44f9021223 Remove BEOS port. 2006-01-05 03:01:38 +00:00
Bruce Momjian
a1675649e4 Remove QNX port. 2006-01-05 01:56:30 +00:00
Bruce Momjian
7211ff7d32 Add:
> * Make CLUSTER preserve recently-dead tuples per MVCC requirements
2005-12-30 03:24:58 +00:00
Bruce Momjian
e135d9631b Update:
< * Add missing rtree optimizer selectivity
> * Improve selectivity functions for geometric operators
2005-12-29 16:45:11 +00:00
Bruce Momjian
be6187e1c2 Remove a space that incorrectly precedes a comma in the PL/pgSQL
documentation.

Michael Fuhr
2005-12-29 04:02:32 +00:00
Bruce Momjian
9c72df4e86 Update COPY CSV \. wording for externally created files. 2005-12-28 14:38:32 +00:00
Bruce Momjian
6fa335721a Update:
< * Add missing optimizer selectivities for date, r-tree, etc
> * Add missing rtree optimizer selectivity
2005-12-28 03:59:39 +00:00
Bruce Momjian
87289ff35c Add regression tests for CSV and \., and add automatic quoting of a
single column dump that has a \. value, so the load works properly.  I
also added documentation describing this issue.
2005-12-28 03:25:32 +00:00
Bruce Momjian
1b184c990f Done:
< * %Make row-wise comparisons work per SQL spec
> * -Make row-wise comparisons work per SQL spec
2005-12-28 02:12:25 +00:00
Tom Lane
6e07709760 Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly).  Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names.  This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.

I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.

initdb forced due to changes in stored rules.
2005-12-28 01:30:02 +00:00
Andrew Dunstan
a37422e042 Increase amount of shared buffers initdb tries to allocate to 4000,
and add logic to try max_fsm_pages up to 200000, plus accompanying minor
docs changes.
2005-12-27 23:54:01 +00:00
Peter Eisentraut
6840cccd11 Rename pg_make_encrypted_password to PQencryptPassword. 2005-12-26 14:58:06 +00:00
Bruce Momjian
5c9a46f605 Add:
* %Make row-wise comparisons work per SQL spec

  Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
  the SQL standard requires it to be processed as a column-by-column
  comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
2005-12-26 05:14:52 +00:00
Neil Conway
a4d69a410d Minor doc tweak: "NOT NULL" is redundant with "SERIAL" in example. 2005-12-25 01:41:15 +00:00
Bruce Momjian
c45eb53642 Spell fix. Andrew. 2005-12-24 19:29:38 +00:00
Bruce Momjian
5c28913e6a Update why unified diff is _sometimes_ better. 2005-12-24 18:37:17 +00:00
Tom Lane
7d732f06cc Wups, fat-fingered the calculation the first time. Update comment in
postgresql.conf.sample too.
2005-12-23 23:28:35 +00:00
Tom Lane
b1bff7e6fa Update info about shared memory space calculation to match CVS tip's behavior. 2005-12-23 23:02:26 +00:00
Peter Eisentraut
98b3c3c450 Allow CREATE/ALTER ROLE PASSWORD NULL to allow restoring the default state
of having no password.
2005-12-23 16:46:39 +00:00
Tom Lane
ea9b028dc7 Add an officially exported libpq function to encrypt passwords, and
modify the previous \password patch to use it instead of depending
on a not-officially-exported function.  Per discussion.
2005-12-23 01:16:38 +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
Bruce Momjian
2f1a78e200 Update item:
>
>   A more complex solution would be to save multiple plans for different
>   cardinality and use the appropriate plan based on the EXECUTE values.
>
2005-12-22 23:05:32 +00:00
Bruce Momjian
7b53b45a64 Update interval documenation to mention the storage system used. 2005-12-22 21:45:19 +00:00
Bruce Momjian
2ddac948f8 Add documentation example of using interval multiplication with 'days'.
Backpatch to 8.1.X.
2005-12-21 23:22:55 +00:00
Bruce Momjian
3086f6e4f0 Add additional example for interval multiplication.
Fix example for day and hours interval subtraction for new computation
method.

Update interval examples to display zero seconds, which is our default.

Backpatch to 8.1.X.
2005-12-21 16:02:24 +00:00
Tom Lane
e3b9852728 Teach planner how to rearrange join order for some classes of OUTER JOIN.
Per my recent proposal.  I ended up basing the implementation on the
existing mechanism for enforcing valid join orders of IN joins --- the
rules for valid outer-join orders are somewhat similar.
2005-12-20 02:30:36 +00:00
Tom Lane
1a6aaaa6c4 Fix broken markup. 2005-12-20 00:51:45 +00:00
Peter Eisentraut
b16566d771 Add new psql command \password for changing role password with client-side
password encryption.  Also alter createuser command to the same effect.
2005-12-18 02:17:16 +00:00
Bruce Momjian
25af534ea1 Remove item:
< * Allow star join optimizations
<
<   While our bitmap scan allows multiple indexes to be joined to get
<   to heap rows, a star joins allows multiple dimension _tables_ to
<   be joined to index into a larger main fact table.  The join is
<   usually performed by either creating a cartesian product of all
<   the dimmension tables and doing a single join on that product or
<   using subselects to create bitmaps of each dimmension table match
<   and merge the bitmaps to perform the join on the fact table.  Some
<   of these algorithms might be patented.
2005-12-17 19:03:24 +00:00
Bruce Momjian
3282b6338b Update:
< * Flush cached query plans when the dependent objects change or
<   when the cardinality of parameters changes dramatically
> * Flush cached query plans when the dependent objects change,
>   when the cardinality of parameters changes dramatically, or
>   when new ANALYZE statistics are available
2005-12-17 18:07:01 +00:00
Bruce Momjian
16843ba33c Add mention of possible patent problems with star joins, per Joshua
Drake:

<   and merge the bitmaps to perform the join on the fact table.
>   and merge the bitmaps to perform the join on the fact table.  Some
>   of these algorithms might be patented.
2005-12-17 17:04:41 +00:00
Bruce Momjian
9e9a844f55 Add:
* Allow star join optimizations

  While our bitmap scan allows multiple indexes to be joined to get
  to heap rows, a star joins allows multiple dimension _tables_ to
  be joined to index into a larger main fact table.  The join is
  usually performed by either creating a cartesian product of all
  the dimmension tables and doing a single join on that product or
  using subselects to create bitmaps of each dimmension table match
  and merge the bitmaps to perform the join on the fact table.
2005-12-17 16:43:11 +00:00
Bruce Momjian
927f57687f Add more function to TODO:
< * %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
> * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(),
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
2005-12-17 14:18:33 +00:00
Bruce Momjian
eae75beb71 Update:
< * Flush cached query plans when the dependent objects change
> * Flush cached query plans when the dependent objects change or
>   when the cardinality of parameters changes dramatically
2005-12-17 04:10:47 +00:00
Bruce Momjian
91e9e74f90 Update FAQ, second version.
J.Kuwamura
2005-12-17 03:21:00 +00:00
Bruce Momjian
2475a5d8c1 Update Japanese FAQ.
J.Kuwamura
2005-12-17 03:20:12 +00:00
Bruce Momjian
56ea9ad11f Add:
> * Allow the count returned by SELECT, etc to be to represent as an int64
>   to allow a higher range of values
2005-12-17 01:48:37 +00:00
Bruce Momjian
cb77a9ea53 Force update. 2005-12-16 18:56:55 +00:00
Neil Conway
1c7347f897 Fix some typos in the TODO list. 2005-12-16 18:44:07 +00:00
Bruce Momjian
baf4e187ef Update wording, query -> statement:
< * %Allow pooled connections to list all prepared queries
> * %Allow pooled connections to list all prepared statements
28c28
<   the queries prepared in the current session.
>   the statements prepared in the current session.
143c143
< 	  o Allow a warm standby system to also allow read-only queries
> 	  o Allow a warm standby system to also allow read-only statements
404c404
< * Add GUC to issue notice about queries that use unjoined tables
> * Add GUC to issue notice about statements that use unjoined tables
490c490
< 	  Another idea would be to allow actual SELECT queries in a COPY.
> 	  Another idea would be to allow actual SELECT statements in a COPY.
554c554
< 	o Allow function argument names to be queries from PL/PgSQL
> 	o Allow function argument names to be statements from PL/PgSQL
591c591
< 	o Improve psql's handling of multi-line queries
> 	o Improve psql's handling of multi-line statements
< 	  Currently, while \e saves a single query as one entry, interactive
< 	  queries are saved one line at a time.  Ideally all queries
> 	  Currently, while \e saves a single statement as one entry, interactive
> 	  statements are saved one line at a time.  Ideally all statements
665c665
< 	o Allow query results to be automatically batched to the client
> 	o Allow statement results to be automatically batched to the client
667c667
< 	  Currently, all query results are transfered to the libpq
> 	  Currently, all statement results are transfered to the libpq
672c672
< 	  One complexity is that a query like SELECT 1/col could error
> 	  One complexity is that a statement like SELECT 1/col could error
739c739
< * Allow queries across databases or servers with transaction
> * Allow statements across databases or servers with transaction
<   inheritance, allow it to work for UPDATE and DELETE queries, and allow
<   it to be used for all queries with little performance impact
>   inheritance, allow it to work for UPDATE and DELETE statements, and allow
>   it to be used for all statements with little performance impact
876c876
< * Consider automatic caching of queries at various levels:
> * Consider automatic caching of statements at various levels:
947c947
<   a single session using multiple threads to execute a query faster.
>   a single session using multiple threads to execute a statement faster.
1025c1025
< * Log queries where the optimizer row estimates were dramatically
> * Log statements where the optimizer row estimates were dramatically
1146c1146
< 	  of result sets using new query protocol
> 	  of result sets using new statement protocol
2005-12-12 13:36:36 +00:00
Neil Conway
be8100d64e Implement IS NOT DISTINCT FROM, update the regression tests and docs.
Patch from Pavel Stehule, minor fixups by myself.
2005-12-11 10:54:28 +00:00
Bruce Momjian
c10593149a Remove item:
< * Add GUC variable to run a command on database panic or
<   smart/fast/immediate shutdown
2005-12-11 02:16:25 +00:00
Bruce Momjian
ecf4df6116 Done:
< * Allow installing to directories containing spaces
> * -Allow installing to directories containing spaces
2005-12-09 21:46:07 +00:00
Peter Eisentraut
a29c04a541 Allow installation into directories containing spaces in the name. 2005-12-09 21:19:36 +00:00
Tom Lane
3a20db975e Add release notes for back branches (7.3 and up).
Also minor improvements to 8.1.1 release notes.
2005-12-09 20:40:12 +00:00
Bruce Momjian
ede54f3cd7 Add documentation about the behavior of BEFORE triggers and referential
integrity actions.

Stephan Szabo
2005-12-09 19:39:41 +00:00
Bruce Momjian
9c9b9446da Remove mention that history is _now_ automatically saved on exit. It
has been that way for a long time.
2005-12-09 19:19:17 +00:00
Tom Lane
a8c53d6207 Fix broken markup. 2005-12-09 18:07:49 +00:00
Bruce Momjian
07044f5d6f Completed:
* -Have initdb set the input DateStyle (MDY or DMY) based on locale
2005-12-09 16:35:20 +00:00
Peter Eisentraut
625d4b38e0 Let initdb detect the date order of the lc_time locale and initialize the
datestyle parameter of the new cluster accordingly.
2005-12-09 15:51:14 +00:00
Bruce Momjian
34848052d0 Release note wording improvements. 2005-12-08 23:22:20 +00:00
Bruce Momjian
8c09ba866c Wrap UTF-8 paragraph. 2005-12-08 22:44:55 +00:00
Bruce Momjian
f2946c717d Update wording of translation bug item. 2005-12-08 22:35:44 +00:00
Bruce Momjian
fb52a5475f Update for 8.1.1. 2005-12-08 22:26:18 +00:00
Bruce Momjian
4b0951133d Update release notes for 8.1.1. 2005-12-08 22:21:26 +00:00
Bruce Momjian
d22ec67605 Add Teodor:
> * Teodor is Teodor Sigaev <teodor@sigaev.ru>
2005-12-08 22:10:25 +00:00
Bruce Momjian
0fba659ef8 Remove a few people:
< * Claudio is Claudio Natoli <claudio.natoli@memetrics.com>
1166d1164
< * Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
2005-12-08 22:08:20 +00:00
Bruce Momjian
cd5fa5a5a1 FAQ_AIX in 8.1.0 contains outdated information about how to deal with
postgres problems due to readline.  The attached patch replaces that
section of it with better ways of handling the problem.

Seneca Cunningham
2005-12-08 21:36:50 +00:00
Bruce Momjian
04db9d25d1 there's a paragraph in the ALTER TABLE reference page that reads:
DROP CONSTRAINT

    This form drops constraints on a table. Currently, constraints on tables
    are not required to have unique names, so there may be more than one
    constraint matching the specified name. All matching constraints will be
    dropped.

To my knowledge, it is no longer possible to create constraints with the
same name for the same relation. When you create a constraint and specify
the same name explictly, an error is raised. Implicit constraint creation
won't choose an existing name either and up to now you could not rename a
constraint. Renaming works with the patch I sent in a few hours ago but this
patch as well won't allow constraints with identical names on the same
relation.

The attached patch thus removes the note in the docs.

Joachim Wieland
2005-12-08 21:35:36 +00:00
Bruce Momjian
af6ef3028d Remove empty heading row in error table. 2005-12-08 21:23:09 +00:00
Bruce Momjian
ac5618fa4e Add "Constant" column to error code table.
Also, better mark section headings.

kdio@uenf.br
2005-12-08 21:01:52 +00:00
Peter Eisentraut
dbd1c1abd6 Documentation fix: s/event_object_name/event_object_table/g 2005-12-08 20:48:10 +00:00
Bruce Momjian
dc1cb4ceb9 Add documentation about the inability of plpsql to use parameter names
that are the same as column names used in the function.
2005-12-08 18:02:04 +00:00
Bruce Momjian
10a2df28c0 Update:
<   at initdb time or optionally later.
>   at initdb time or optionally later.  Consider O_SYNC when
>   O_DIRECT exists.
2005-12-07 17:29:14 +00:00
Tom Lane
6de1fef52c Fix incorrect SPI example, per Yoshihisa Nakano. 2005-12-07 15:39:25 +00:00
Bruce Momjian
823702be9d Improve lazy vacuum wording. 2005-12-07 14:35:45 +00:00
Bruce Momjian
95aca45010 Clarify vacuum lazy can shrink a file under certain circumstances. 2005-12-07 05:35:53 +00:00
Bruce Momjian
3001b4697d Update iconv wording, per Peter. 2005-12-06 21:00:53 +00:00
Bruce Momjian
371879ca8e Add:
> * Add GUC variable to run a command on database panic or
>   smart/fast/immediate shutdown
2005-12-06 20:47:05 +00:00
Bruce Momjian
40c729ae6c Highlight diff idea for iconv. 2005-12-06 20:25:42 +00:00
Bruce Momjian
363fcbafa1 iconv uses UTF-8, not UTF8. 2005-12-06 20:19:17 +00:00
Bruce Momjian
394fedfd72 Document method of removing invalid UTF8 escape sequences from dump
file.  Backpatch to 8.1.X.

Paul Lindner
2005-12-06 19:26:43 +00:00
Bruce Momjian
af2e8a872d Documentation cleanup mention:
non-ascii                       convert to & escapes
2005-12-06 18:45:18 +00:00
Bruce Momjian
dae896b67d Since my name has a non-ascii-letter in it, it's often spelled wrong. In
the latest release notes there is a latin1 character that shouldn't be
there so I made a patch to fix that. This patch also fixes some old
entries that uses o instead of &ouml; (which is also wrong but not as
bad as including a latin1 character in the sgml file).

Dennis Bj?rklund
2005-12-06 18:43:26 +00:00
Bruce Momjian
99552287e1 Update:
< 	  Win32 API, and we have to make sure MinGW handles it.
> 	  Win32 API, and we have to make sure MinGW handles it.  Another
> 	  option is to wait for the MinGW project to fix it, or use the
> 	  code from the LibGW32C project as a guide.
2005-12-04 21:16:51 +00:00
Bruce Momjian
8752479dfc Add:
> 	o Add long file support for binary pg_dump output
>
> 	  While Win32 supports 64-bit files, the MinGW API does not,
> 	  meaning we have to build an fseeko replacement on top of the
> 	  Win32 API, and we have to make sure MinGW handles it.
2005-12-04 04:33:18 +00:00
Bruce Momjian
bedb5fc309 Add:
> * Add SPI_gettypmod() to return the typemod for a TupleDesc
2005-12-04 04:14:43 +00:00
Bruce Momjian
49bbff0f8d Add for autovacuum:
> 	o Consider logging activity either to the logs or a system view
2005-12-04 04:02:55 +00:00
Bruce Momjian
10e3d224e0 Add configure flag to allow libedit to be preferred over GNU readline:
--with-libedit-preferred  prefer BSD Libedit over GNU Readline
2005-12-04 03:52:29 +00:00