Commit Graph

5732 Commits

Author SHA1 Message Date
Bruce Momjian 5894e7e36e Add items:
> * Prevent to_char() on interval from returning meaningless values
>
>   For example, to_char('1 month', 'mon') is meaningless.  Basically,
>   most date-related parameters to to_char() are meaningless for
>   intervals because interval is not anchored to a date.
>
> * Allow to_char() on interval values to accumulate the highest unit
>   requested
>
> 	o to_char(INTERVAL '1 hour 5 minutes', 'MI') => 65
> 	o to_char(INTERVAL '43 hours 20 minutes', 'MI' ) => 2600
> 	o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20
> 	o to_char(INTERVAL '3 years 5 months','MM') => 41
>
>   Some special format flag would be required to request such
>   accumulation.  Such functionality could also be added to EXTRACT.
>   Prevent accumulation that crosses the month/day boundary because of
>   the uneven number of days in a month.
>
2005-05-07 04:24:34 +00:00
Bruce Momjian b63990c6a8 Add COPY WITH CVS HEADER to allow a heading line as the first line in
COPY.

Andrew Dunstan
2005-05-07 02:22:49 +00:00
Bruce Momjian 6ceebcac3a Adjust question spacing. 2005-05-06 17:48:03 +00:00
Tom Lane 4eec2f2407 Update misleading comment about the use of lanpltrusted ... it is
significant regardless of the value of lanispl.
2005-05-06 14:28:53 +00:00
Bruce Momjian 051ecca022 Remove documentation that CSV didn't handle carriage returns and line
feeds properly.
2005-05-06 03:38:05 +00:00
Tom Lane 160ca10609 Per core discussion, we should push out a 7.2.* release too while
we are at it.  Add release notes.
2005-05-05 17:59:40 +00:00
Bruce Momjian e6e7e64345 Update "control" item.
Rosser Schwarz
2005-05-05 01:42:04 +00:00
Bruce Momjian 45c2171024 Typo fix, Dave Held 2005-05-05 01:23:51 +00:00
Tom Lane a5ed98ba5a Preliminary release notes for 8.0.3, 7.4.8, 7.3.10. 2005-05-04 21:19:33 +00:00
Tom Lane 893b57c871 Alter the signature for encoding conversion functions to declare the
output area as INTERNAL not CSTRING.  This is to prevent people from
calling the functions by hand.  This is a permanent solution for the
back branches but I hope it is just a stopgap for HEAD.
2005-05-03 19:17:59 +00:00
Bruce Momjian 47ce51c04a Add FAQ on who controls the project. 2005-05-02 20:11:27 +00:00
Bruce Momjian 3de0e72b56 Completed:
< * Remove unreferenced table files created by transactions that were
> * -Check for unreferenced table files created by transactions that were
2005-05-02 18:27:12 +00:00
Bruce Momjian 76668e6eb4 Check the file system on postmaster startup and report any unreferenced
files in the server log.

Heikki Linnakangas
2005-05-02 18:26:54 +00:00
Neil Conway b656150ec0 Add some missing "See Also" entries to the domain-related SQL reference
pages. From Robert Treat.
2005-05-02 01:52:50 +00:00
Neil Conway f478856c7f Change SPI functions to use a `long' when specifying the number of tuples
to produce when running the executor. This is consistent with the internal
executor APIs (such as ExecutorRun), which also use a long for this purpose.
It also allows FETCH_ALL to be passed -- since FETCH_ALL is defined as
LONG_MAX, this wouldn't have worked on platforms where int and long are of
different sizes. Per report from Tzahi Fadida.
2005-05-02 00:37:07 +00:00
Tom Lane 6c412f0605 Change CREATE TYPE to require datatype output and send functions to have
only one argument.  (Per recent discussion, the option to accept multiple
arguments is pretty useless for user-defined types, and would be a likely
source of security holes if it was used.)  Simplify call sites of
output/send functions to not bother passing more than one argument.
2005-05-01 18:56:19 +00:00
Tom Lane ae793ff63c Fix incorrect backslashing in regexp example, per Robert Treat. 2005-05-01 15:57:59 +00:00
Tom Lane 768eaf1416 Mention the actual stored size of NUMERIC values, per David Fetter. 2005-05-01 15:54:46 +00:00
Bruce Momjian 23cf3986cf Update FAQ. 2005-04-30 03:53:17 +00:00
Bruce Momjian ef1b4fbb56 Update replication FAQ.
Christopher Browne
2005-04-30 03:52:23 +00:00
Bruce Momjian daec16d0ba Done:
> * -Implement shared row locks and use them in RI triggers
2005-04-29 05:03:02 +00:00
Tom Lane bedb78d386 Implement sharable row-level locks, and use them for foreign key references
to eliminate unnecessary deadlocks.  This commit adds SELECT ... FOR SHARE
paralleling SELECT ... FOR UPDATE.  The implementation uses a new SLRU
data structure (managed much like pg_subtrans) to represent multiple-
transaction-ID sets.  When more than one transaction is holding a shared
lock on a particular row, we create a MultiXactId representing that set
of transactions and store its ID in the row's XMAX.  This scheme allows
an effectively unlimited number of row locks, just as we did before,
while not costing any extra overhead except when a shared lock actually
has to be shared.   Still TODO: use the regular lock manager to control
the grant order when multiple backends are waiting for a row lock.

Alvaro Herrera and Tom Lane.
2005-04-28 21:47:18 +00:00
Bruce Momjian 5de947624a Add WAL compression item to TODO.detail. 2005-04-28 13:25:40 +00:00
Bruce Momjian a65b1b738c Add psql \set ON_ERROR_ROLLBACK to allow statements in a transaction to
error without affecting the entire transaction.  Valid values are
"on|interactive|off".
2005-04-28 13:09:59 +00:00
Bruce Momjian 989b55c550 Wording improvement. 2005-04-27 20:11:07 +00:00
Bruce Momjian d3ee0279d6 Update PAM documentation, per Alvaro. 2005-04-27 20:09:50 +00:00
Bruce Momjian eceb05b0b9 Mention that PAM requires the user already exist in the database, per
Dick Davies.
2005-04-26 03:01:09 +00:00
Bruce Momjian 238fb0342e Update description:
< * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
> * Allow ORDER BY ... LIMIT # to select high/low value without sort or
868c868
<   Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort
>   Right now, if no index exists, ORDER BY ... LIMIT # requires we sort
870a871
>   MIN/MAX already does this, but not for LIMIT > 1.
2005-04-25 15:35:32 +00:00
Bruce Momjian 61cf53516e Re-add item with better description:
> * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
>   index using a sequential scan for highest/lowest values
>
>   Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort
>   all values to return the high/low value.  Instead The idea is to do a
>   sequential scan to find the high/low value, thus avoiding the sort.
>
2005-04-25 13:03:37 +00:00
Bruce Momjian 7a4c34c97c Add description for concurrent sequential scans:
>   One possible implementation is to start sequential scans from the lowest
>   numbered buffer in the shared cache, and when reaching the end wrap
>   around to the beginning, rather than always starting sequential scans
>   at the start of the table.
2005-04-25 01:42:41 +00:00
Bruce Momjian cdf39c7b61 Update wording:
<   This allows vacuum to reclaim free space without requiring
<   a sequential scan
>   This allows vacuum to target specific pages for possible free space
>   without requiring a sequential scan.
2005-04-24 12:39:07 +00:00
Bruce Momjian 5131b5bc7a Update wording. 2005-04-24 12:01:32 +00:00
Bruce Momjian c1cc62f614 Clean up HTML. 2005-04-24 11:57:19 +00:00
Bruce Momjian 7a35c637bc Add replication FAQ item. 2005-04-24 11:48:52 +00:00
Bruce Momjian a7f2a788ee Add line break. 2005-04-24 11:27:51 +00:00
Bruce Momjian 6f8f0a9d7a Update book items. 2005-04-24 11:22:44 +00:00
Bruce Momjian ac8998f2e6 Turns out our existing page size is already optimal in most cases:
< * Research the use of larger page sizes
2005-04-23 21:45:28 +00:00
Bruce Momjian f4dcb52efe Item already added to existing 'thread' item:
< * Consider parallel processing a single query
<
<   This would involve using multiple threads or processes to do optimization,
<   sorting, or execution of single query.  The major advantage of such a
<   feature would be to allow multiple CPUs to work together to process a
<   single query.
<
2005-04-23 21:44:52 +00:00
Bruce Momjian 6869683147 Remove item, not sure what it refers to:
< * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
<   index using a sequential scan for highest/lowest values
<
<   If only one value is needed, there is no need to sort the entire
<   table. Instead a sequential scan could get the matching value.
<
2005-04-23 21:43:24 +00:00
Bruce Momjian 1207d5b64e New item:
> * Change WAL to use 32-bit CRC, for performance reasons
2005-04-23 21:41:01 +00:00
Bruce Momjian e847558031 Update threading item:
<   Solaris) might benefit from threading.
>   Solaris) might benefit from threading.  Also explore the idea of
>   a single session using multiple threads to execute a query faster.
2005-04-23 21:39:27 +00:00
Bruce Momjian bb62899db5 Done:
< * Improve SMP performance on i386 machines
> * -Improve SMP performance on i386 machines
2005-04-23 21:38:42 +00:00
Bruce Momjian 95c7bff47c Done:
< * Optimize locale to have minimal performance impact when not used
2005-04-23 21:25:49 +00:00
Bruce Momjian 9ff49665ce Fix typo:
< * Add ISo INTERVAL handling
> * Add ISO INTERVAL handling
2005-04-23 21:22:55 +00:00
Bruce Momjian e8ad6d9666 Move info about lack of depencency checking in Makefiles to developer's faq.q 2005-04-23 20:52:32 +00:00
Bruce Momjian f7e514d010 Update FAQ by eliminating non-frequent items like large objects and
extending questions.  Update wording of various entries.
2005-04-23 20:51:44 +00:00
Bruce Momjian 48e7a196ea Done:
> * -Allow non-bitmap indexes to be combined by creating bitmaps in memory
2005-04-23 19:13:40 +00:00
Bruce Momjian 97a4dad35f Update H4 tag to H3 to be consistent with heading levels. 2005-04-23 18:59:17 +00:00
Bruce Momjian 9f1e864d02 Add item about server-side debugging. 2005-04-23 18:57:46 +00:00
Bruce Momjian c34ea747a6 Update FAQ items to point to existing web pages rather than duplication
such information.  Remove MySQL mention.  Move server-side debug item to
developer's FAQ.  Update URLs.
2005-04-23 18:57:25 +00:00
Bruce Momjian 0975b95bc3 Update FAQ release number to 8.0.2. 2005-04-23 15:22:56 +00:00
Bruce Momjian 25434e32cb Add documentation stating how to determine if FSM settings are too low
--- look at a database-wide VACUUM VERBOSE.
2005-04-23 03:27:40 +00:00
Bruce Momjian ccbb07d922 Fix typo:
<   Currently indexes do not have enough tuple tuple visibility
<   information to allow data to be pulled from the index without
<   also accessing the heap.  One way to allow this is to set a bit
<   to index tuples to indicate if a tuple is currently visible to
<   all transactions when the first valid heap lookup happens.  This
<   bit would have to be cleared when a heap tuple is expired.
>   Currently indexes do not have enough tuple visibility information
>   to allow data to be pulled from the index without also accessing
>   the heap.  One way to allow this is to set a bit to index tuples
>   to indicate if a tuple is currently visible to all transactions
>   when the first valid heap lookup happens.  This bit would have to
>   be cleared when a heap tuple is expired.
2005-04-22 15:40:16 +00:00
Bruce Momjian 6f61ddd40d Typo fix. Alvaro. 2005-04-22 15:32:58 +00:00
Bruce Momjian 8f4a1b3e84 Update URL for TODO list. 2005-04-22 13:38:19 +00:00
Bruce Momjian d76f279a55 Remove pre-7.3 mention that FOR UPDATE can be before LIMIT.
Document that FOR UPDATE and LIMIT together can return fewer rows that
LIMIT specifies, and why.
2005-04-22 04:20:44 +00:00
Bruce Momjian 26bb65df1e Clarify that only crypt can't use md5 pg_shadow passwords. 2005-04-22 04:18:58 +00:00
Bruce Momjian c82b895284 Clarify use of MD5 authentication and pg_shadow encryption. 2005-04-21 22:19:19 +00:00
Tom Lane 14c7fba3f7 Rethink original decision to use AND/OR Expr nodes to represent bitmap
logic operations during planning.  Seems cleaner to create two new Path
node types, instead --- this avoids duplication of cost-estimation code.
Also, create an enable_bitmapscan GUC parameter to control use of bitmap
plans.
2005-04-21 19:18:13 +00:00
Bruce Momjian c6221db3c0 Updated text for bitmaps:
<   Bitmap indexes index single columns that can be combined with other bitmap
<   indexes to dynamically create a composite index to match a specific query.
<   Each index is a bitmap, and the bitmaps are bitwise AND'ed or OR'ed to be
<   combined.  They can index by tid or can be lossy requiring a scan of the
<   heap page to find matching rows, or perhaps use a mixed solution where
<   tids are recorded for pages with only a few matches and per-page bitmaps
<   are used for more dense pages.  Another idea is to use a 32-bit bitmap
<   for every page and set a bit based on the item number mod(32).

>   This feature allows separate indexes to be ANDed or ORed together.  This
>   is particularly useful for data warehousing applications that need to
>   query the database in an many permutations.  This feature scans an index
>   and creates an in-memory bitmap, and allows that bitmap to be combined
>   with other bitmap created in a similar way.  The bitmap can either index
>   all TIDs, or be lossy, meaning it records just page numbers and each
>   page tuple has to be checked for validity in a separate pass.
2005-04-21 15:20:39 +00:00
Bruce Momjian 631e03145f Done:
< * Add tool to query pg_stat_* tables and report indexes that aren't needed
<   or tables that might need indexes
2005-04-21 04:09:34 +00:00
Tom Lane 1c155c8dfb Add note clarifying that indexes that support ordered scans had better
allow clauseless scans.
2005-04-20 22:19:58 +00:00
Bruce Momjian de4fbfadc5 Add:
> * Add tool to query pg_stat_* tables and report indexes that aren't needed
>   or tables that might need indexes
2005-04-20 02:48:11 +00:00
Bruce Momjian e5c7c05168 Add:
> * Log queries where the optimizer row estimates were dramatically
>   different from the number of rows actually found (?)
2005-04-20 02:43:49 +00:00
Bruce Momjian 047b8a71d1 Add:
> * All ability to monitor the use of temporary sort files
2005-04-20 01:17:34 +00:00
Bruce Momjian fa66de98a9 >>>>Luckily, PG 8 is available for this. Do you have a short example?
>>>
>>>No, and I think it should be in the manual as an example.
>>>
>>>You will need to enter a loop that uses exception handling to detect
>>>unique_violation.
>>
>>Pursuant to an IRC discussion to which Dennis Bjorklund and
>>Christopher Kings-Lynne made most of the contributions, please find
>>enclosed an example patch demonstrating an UPSERT-like capability.
>>

David Fetter
2005-04-19 03:55:43 +00:00
Bruce Momjian bd32a25598 > >Luckily, PG 8 is available for this. Do you have a short example?
>
> No, and I think it should be in the manual as an example.
>
> You will need to enter a loop that uses exception handling to detect
> unique_violation.

Pursuant to an IRC discussion to which Dennis Bjorklund and
Christopher Kings-Lynne made most of the contributions, please find
enclosed an example patch demonstrating an UPSERT-like capability.

David Fetter
2005-04-19 03:37:20 +00:00
Bruce Momjian dd39dd232f Update PITR wording, per Simon. 2005-04-19 01:39:50 +00:00
Bruce Momjian 8023b7fa5a Add WAL entry about compression. 2005-04-18 18:30:56 +00:00
Bruce Momjian 07dfdb8dd0 Added to TODO:
> * Compress WAL entries [wal]
2005-04-18 18:29:57 +00:00
Bruce Momjian 01979d1bd5 Update PITR setence to mention WAL and file system dump. 2005-04-18 17:40:40 +00:00
Bruce Momjian d304067695 Update PITR TODO items:
<   failure.
>   failure.  This could be triggered by a user command or a timer.
< * Force archiving of partially-full WAL files when pg_stop_backup() is
<   called or the server is stopped
> * Automatically force archiving of partially-filled WAL files when
>   pg_stop_backup() is called or the server is stopped
2005-04-18 15:03:21 +00:00
Bruce Momjian 54fe332776 Update TODO script sample. 2005-04-18 14:44:04 +00:00
Bruce Momjian 03d712d9f4 Update for HTML markup. 2005-04-18 14:42:35 +00:00
Bruce Momjian 68d2f9283d Add description that WAL files used during backup have to be archived
before you are done.
2005-04-18 13:11:04 +00:00
Bruce Momjian c68f6d7963 Add HTML version of TODO to CVS, for web site use. 2005-04-18 12:58:45 +00:00
Bruce Momjian 11ab2b85d7 Add HTML TODO version to CVS. 2005-04-18 12:58:11 +00:00
Bruce Momjian 584693cc6d Add description about partial WAL archiving for PITR:
>
>   Doing this will allow administrators to know more easily when the
>   archive contins all the files needed for point-in-time recovery.
2005-04-18 12:51:41 +00:00
Bruce Momjian 41d64a185e Fix html. 2005-04-18 03:46:31 +00:00
Bruce Momjian f1e8b57731 Test new html tag. 2005-04-18 03:17:23 +00:00
Bruce Momjian c57a418ce6 Add:
> * Force archiving of partially-full WAL files when pg_stop_backup() is
>   called or the server is stopped
2005-04-18 03:00:44 +00:00
Bruce Momjian d755688f24 Update PITR mention of which WAL files are needed. 2005-04-18 01:29:00 +00:00
Bruce Momjian 18b985055d Clarify name of file to be checked for PITR expiring. 2005-04-17 03:05:19 +00:00
Tom Lane 85eee28cec Minor improvements to locale documentation. 2005-04-16 16:50:01 +00:00
Bruce Momjian ad9201f982 Done
> * -Use indexes for MIN() and MAX()
2005-04-14 23:20:55 +00:00
Tom Lane 7c13781ee7 First phase of project to use fixed OIDs for all system catalogs and
indexes.  Extend the macros in include/catalog/*.h to carry the info
about hand-assigned OIDs, and adjust the genbki script and bootstrap
code to make the relations actually get those OIDs.  Remove the small
number of RelOid_pg_foo macros that we had in favor of a complete
set named like the catname.h and indexing.h macros.  Next phase will
get rid of internal use of names for looking up catalogs and indexes;
but this completes the changes forcing an initdb, so it looks like a
good place to commit.
Along the way, I made the shared relations (pg_database etc) not be
'bootstrap' relations any more, so as to reduce the number of hardwired
entries and simplify changing those relations in future.  I'm not
sure whether they ever really needed to be handled as bootstrap
relations, but it seems to work fine to not do so now.
2005-04-14 01:38:22 +00:00
Tom Lane 2193a856a2 Simplify initdb-time assignment of OIDs as I proposed yesterday, and
avoid encroaching on the 'user' range of OIDs by allowing automatic
OID assignment to use values below 16k until we reach normal operation.

initdb not forced since this doesn't make any incompatible change;
however a lot of stuff will have different OIDs after your next initdb.
2005-04-13 18:54:57 +00:00
Neil Conway 6853a37a83 Minor consistency improvement to the documentation on array functions. 2005-04-13 00:20:10 +00:00
Tom Lane 2e7a68896b Add aggsortop column to pg_aggregate, so that MIN/MAX optimization can
be supported for all datatypes.  Add CREATE AGGREGATE and pg_dump support
too.  Add specialized min/max aggregates for bpchar, instead of depending
on text's min/max, because otherwise the possible use of bpchar indexes
cannot be recognized.
initdb forced because of catalog changes.
2005-04-12 04:26:34 +00:00
Tom Lane 3803f24379 Fix broken markup. 2005-04-12 03:16:50 +00:00
Bruce Momjian 72fd559037 Update to XHTML. 2005-04-10 23:21:33 +00:00
Bruce Momjian 9427cceb07 Done:
< * Allow additional tables to be specified in DELETE for joins
> * -Allow additional tables to be specified in DELETE for joins
2005-04-09 04:07:03 +00:00
Bruce Momjian 0e2f88a6d5 We don't put URL's in ulink's because the URL is always generated, but
we can put words in ulink and the URL will still be printed.

per Peter
2005-04-09 03:52:43 +00:00
Neil Conway eb4b7a0b77 Change the default setting of "add_missing_from" to false. This has been
the long-term plan for this behavior for quite some time, but it is only
possible now that DELETE has a USING clause so that the user can join
other tables in a DELETE statement without relying on this behavior.
2005-04-08 00:59:59 +00:00
Tom Lane 26f831a950 Update and copy-edit release notes for 8.0.2. 2005-04-07 19:04:13 +00:00
Tom Lane e00ee88761 Allow plpgsql functions to omit RETURN command when the function returns
output parameters or VOID or a set.  There seems no particular reason to
insist on a RETURN in these cases, since the function return value is
determined by other elements anyway.  Per recent discussion.
2005-04-07 14:53:04 +00:00
Neil Conway 5c7c017b07 Minor documentation tweak. 2005-04-07 03:31:42 +00:00
Neil Conway f5ab0a14ea Add a "USING" clause to DELETE, which is equivalent to the FROM clause
in UPDATE. We also now issue a NOTICE if a query has _any_ implicit
range table entries -- in the past, we would only warn about implicit
RTEs in SELECTs with at least one explicit RTE.

As a result of the warning change, 25 of the regression tests had to
be updated. I also took the opportunity to remove some bogus whitespace
differences between some of the float4 and float8 variants. I believe
I have correctly updated all the platform-specific variants, but let
me know if that's not the case.

Original patch for DELETE ... USING from Euler Taveira de Oliveira,
reworked by Neil Conway.
2005-04-07 01:51:41 +00:00
Tom Lane 726220fb9f Adjust grammar for plpgsql's OPEN command so that a cursor can be
OPENed on non-SELECT commands such as EXPLAIN or SHOW (anything that
returns tuples is allowed).  This flexibility already existed for
bound cursors, but OPEN was artificially restricting what it would
take.  Per a gripe some months back.
2005-04-05 18:05:46 +00:00
Tom Lane fd97cf4df0 plpgsql does OUT parameters, as per my proposal a few weeks ago. 2005-04-05 06:22:17 +00:00