Commit Graph

6447 Commits

Author SHA1 Message Date
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