Commit Graph

5830 Commits

Author SHA1 Message Date
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
Tom Lane
2af664e7ce Fix broken markup. 2005-04-05 04:47:19 +00:00
Neil Conway
dba561f94e Add a link to www.postgresql.org/download to the installation instructions.
From Robert Treat.
2005-04-04 05:12:32 +00:00
Bruce Momjian
dfd33e2ff6 Fix release not typo. 2005-04-02 03:42:41 +00:00
Bruce Momjian
65d2624e04 Update release notes for 8.0.2. 2005-04-02 02:42:01 +00:00
Bruce Momjian
9e9724e8bd Fix wrong week returnded by date_trunc('week') for early dates in
January --- would return wrong year for 2005-01-01 and 2006-01-01.

per report from Robert Creager.

Backpatch to 8.0.X.
2005-04-01 14:25:23 +00:00
Tom Lane
47888fe842 First phase of OUT-parameters project. We can now define and use SQL
functions with OUT parameters.  The various PLs still need work, as does
pg_dump.  Rudimentary docs and regression tests included.
2005-03-31 22:46:33 +00:00
Bruce Momjian
fd977434b3 Adjust SGML ulink tags to the URL is always displayed in our printed docs. 2005-03-31 03:54:38 +00:00
Neil Conway
d4beb2636c Minor tweak to documentation. 2005-03-30 04:52:49 +00:00
Neil Conway
320f85a953 Fix typo. 2005-03-30 02:08:39 +00:00
Tom Lane
0f085f6e9d Add proallargtypes and proargmodes columns to pg_proc, as per my earlier
proposal for OUT parameter support.  The columns don't actually *do*
anything yet, they are just left NULLs.  But I thought I'd commit this
part separately as a fairly pure example of the tasks needed when adding
a column to pg_proc or one of the other core system tables.
2005-03-29 19:44:23 +00:00
Tom Lane
8c85a34a3b Officially decouple FUNC_MAX_ARGS from INDEX_MAX_KEYS, and set the
former to 100 by default.  Clean up some of the less necessary
dependencies on FUNC_MAX_ARGS; however, the biggie (FunctionCallInfoData)
remains.
2005-03-29 03:01:32 +00:00
Neil Conway
4f6f5db474 Add SPI_getnspname(), including documentation. 2005-03-29 02:53:53 +00:00
Tom Lane
70c9763d48 Convert oidvector and int2vector into variable-length arrays. This
change saves a great deal of space in pg_proc and its primary index,
and it eliminates the former requirement that INDEX_MAX_KEYS and
FUNC_MAX_ARGS have the same value.  INDEX_MAX_KEYS is still embedded
in the on-disk representation (because it affects index tuple header
size), but FUNC_MAX_ARGS is not.  I believe it would now be possible
to increase FUNC_MAX_ARGS at little cost, but haven't experimented yet.
There are still a lot of vestigial references to FUNC_MAX_ARGS, which
I will clean up in a separate pass.  However, getting rid of it
altogether would require changing the FunctionCallInfoData struct,
and I'm not sure I want to buy into that.
2005-03-29 00:17:27 +00:00
Tom Lane
bf3dbb5881 First steps towards index scans with heap access decoupled from index
access: define new index access method functions 'amgetmulti' that can
fetch multiple TIDs per call.  (The functions exist but are totally
untested as yet.)  Since I was modifying pg_am anyway, remove the
no-longer-needed 'rel' parameter from amcostestimate functions, and
also remove the vestigial amowner column that was creating useless
work for Alvaro's shared-object-dependencies project.
Initdb forced due to changes in pg_am.
2005-03-27 23:53:05 +00:00
Bruce Momjian
e341a52037 Add
> 	o Do VACUUM FULL if table is nearly empty?
2005-03-25 23:13:22 +00:00
Tom Lane
adb1a6e95b Improve EXPLAIN ANALYZE to show the time spent in each trigger when
executing a statement that fires triggers.  Formerly this time was
included in "Total runtime" but not otherwise accounted for.
As a side benefit, we avoid re-opening relations when firing non-deferred
AFTER triggers, because the trigger code can re-use the main executor's
ResultRelInfo data structure.
2005-03-25 21:58:00 +00:00
Tom Lane
6d3f74d801 Update and copy-edit description of privileges. 2005-03-25 16:38:58 +00:00
Tom Lane
6e26c00297 Fix to_date to behave reasonably when CC and YY fields are both used.
Karel Zak
2005-03-25 16:08:40 +00:00
Bruce Momjian
87a4f9b6a3 Print URL in printed output.. 2005-03-25 01:01:14 +00:00
Bruce Momjian
07ebb9fba9 Add URL of how to report bugs:
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
2005-03-25 00:51:04 +00:00
Bruce Momjian
2104f9af87 Add:
<
> * Add GUC to issue notice about queries that use unjoined tables
2005-03-24 05:15:59 +00:00
Bruce Momjian
b1f57d88f5 Change Win32 O_SYNC method to O_DSYNC because that is what the method
currently does.  This is now the default Win32 wal sync method because
we perfer o_datasync to fsync.

Also, change Win32 fsync to a new wal sync method called
fsync_writethrough because that is the behavior of _commit, which is
what is used for fsync on Win32.

Backpatch to 8.0.X.
2005-03-24 04:36:20 +00:00
Bruce Momjian
0275b3f783 Update INTERVAL items. 2005-03-24 03:50:24 +00:00
Bruce Momjian
c58071a5d1 Change ANSI to ISO standard:
< * Add ANSI INTERVAL handling
> * Add ISo INTERVAL handling
< 	o Interpret syntax that isn't uniquely ANSI or PG, like '1:30' or
< 	  '1' as ANSI syntax, e.g. interpret '1:30' MINUTE TO SECOND as
> 	o Interpret syntax that isn't uniquely ISO or PG, like '1:30' or
> 	  '1' as ISO syntax, e.g. interpret '1:30' MINUTE TO SECOND as
649c649
< * Add pre-parsing phase that converts non-ANSI syntax to supported
> * Add pre-parsing phase that converts non-ISO syntax to supported
2005-03-24 02:11:06 +00:00
Neil Conway
50ce8ab9fc Revert changes to CREATE TRIGGER and ALTER TABLE ADD FOREIGN KEY locking,
per request from Tom.
2005-03-24 00:03:26 +00:00
Bruce Momjian
8abba63859 Update wording:
< 	o Process mixed ANSI/PG syntax, and round value to requested
< 	  precision or generate an error
< 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
< 	  INTERVAL MONTH), and this should return '12 months'
194a191,194
> 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
> 	  INTERVAL MONTH), and this should return '12 months'
> 	o Round or truncate values to the requested precision, e.g.
> 	  INTERVAL '11 months' AS YEAR should return one or zero
2005-03-23 22:57:02 +00:00
Bruce Momjian
d5dd9dbbfe Update item on ambiguous INTERVAL syntax:
< 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
> 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
192c192,194
< 	o Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> 	o Interpret syntax that isn't uniquely ANSI or PG, like '1:30' or
> 	  '1' as ANSI syntax, e.g. interpret '1:30' MINUTE TO SECOND as
> 	  '1 minute 30 seconds'
2005-03-23 21:49:52 +00:00
Bruce Momjian
a15699b9e0 Update ANSI INTERVAL section:
< * Add support for ANSI time INTERVAL syntax, INTERVAL '1 2:03:04' DAY TO SECOND
< * Add support for ANSI date INTERVAL syntax, INTERVAL '20-6' YEAR TO MONTH
< * Process mixed ANSI/PG INTERVAL syntax, and round value to requested precision
<
<   Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS INTERVAL
<   MONTH), and this should return '12 months'
<
< * Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> * Add ANSI INTERVAL handling
> 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
> 	  DAY TO SECOND
> 	o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
> 	o Process mixed ANSI/PG syntax, and round value to requested
> 	  precision or generate an error
> 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
> 	  INTERVAL MONTH), and this should return '12 months'
> 	o Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> 	o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
2005-03-23 21:10:02 +00:00
Tom Lane
87ba04eeaf Add note about risks involved in replaying CREATE TABLESPACE commands
from WAL.  A couple other grammatical improvements too.
2005-03-23 19:38:53 +00:00
Bruce Momjian
d27061a3ab Update numbers in example:
< * Add support for ANSI date INTERVAL syntax, INTERVAL '9-3' YEAR TO MONTH
> * Add support for ANSI date INTERVAL syntax, INTERVAL '20-6' YEAR TO MONTH
2005-03-23 17:05:22 +00:00
Bruce Momjian
70d782e64c Update:
< * Add support for ANSI date INTERVAL syntax, INTERVAL '1-2' YEAR TO MONTH
> * Add support for ANSI date INTERVAL syntax, INTERVAL '9-3' YEAR TO MONTH
2005-03-23 16:38:55 +00:00
Neil Conway
f30c76ce8d Adjust CREATE TRIGGER and ALTER TABLE ... ADD FOREIGN KEY to acquire
ExclusiveLock rather than AccessExclusiveLock. This will allow concurrent
SELECT queries to proceed on the table. Per discussion with Andrew at
SuperNews.
2005-03-23 07:44:57 +00:00
Bruce Momjian
ac323044cf Add:
> 	o Add MOVE to PL/pgSQL
2005-03-23 06:11:57 +00:00
Bruce Momjian
f6c1f990ab Assign:
> 	o Update pg_dump and psql to use the new COPY libpq API (Christopher)
2005-03-23 05:50:58 +00:00
Bruce Momjian
9be9c1fb0c Add:
>
> * Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
2005-03-23 05:49:22 +00:00
Bruce Momjian
3113d38bec Add INTERVAL items:
> * Add support for ANSI time INTERVAL syntax, INTERVAL '1 2:03:04' DAY TO SECOND
> * Add support for ANSI date INTERVAL syntax, INTERVAL '1-2' YEAR TO MONTH
> * Process mixed ANSI/PG INTERVAL syntax, and round value to requested precision
184a188,189
>   Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS INTERVAL
>   MONTH), and this should return '12 months'
2005-03-23 05:42:40 +00:00
Bruce Momjian
e96ab26277 Remove duplicate:
< * Allow a warm standby system to also allow read-only queries
2005-03-23 02:50:56 +00:00
Bruce Momjian
b7c2258833 Add:
> * Allow WAL replay of CREATE TABLESPACE to work when the directory
>   structure on the recovery computer is different from the original
2005-03-23 02:49:42 +00:00
Bruce Momjian
0b2adc1e5f Add:
> 	o Update pg_dump and psql to use the new COPY libpq API
2005-03-23 02:41:29 +00:00
Bruce Momjian
09c165e41e Remove:
< 	o Update to use the newer COPY syntax
2005-03-23 02:21:01 +00:00
Bruce Momjian
ee10720834 Add for pg_dump:
> 	o Update to use the newer COPY syntax
2005-03-23 02:14:11 +00:00
Bruce Momjian
aab0159cfb Add:
>
> * Support table partitioning that allows a single table to be stored
>   in subtables that are partitioned based on the primary key or a WHERE
>   clause
2005-03-23 01:25:07 +00:00
Bruce Momjian
4201ba2459 Remove:
<
< 	o Prevent conflicting SET options from being set
<
< 	  This requires a checking function to be called after the server
< 	  configuration file is read.
2005-03-23 00:36:14 +00:00
Tom Lane
ee4ddac137 Convert index-related tuple handling routines from char 'n'/' ' to bool
convention for isnull flags.  Also, remove the useless InsertIndexResult
return struct from index AM aminsert calls --- there is no reason for
the caller to know where in the index the tuple was inserted, and we
were wasting a palloc cycle per insert to deliver this uninteresting
value (plus nontrivial complexity in some AMs).
I forced initdb because of the change in the signature of the aminsert
routines, even though nothing really looks at those pg_proc entries...
2005-03-21 01:24:04 +00:00
Bruce Momjian
1c14db5a77 Done:
> * -Allow the size of the buffer cache used by temporary objects to be
2005-03-20 01:57:11 +00:00
Tom Lane
91728fa26c Add temp_buffers GUC variable to allow users to determine the size
of the local buffer arena for temporary table access.
2005-03-19 23:27:11 +00:00
Bruce Momjian
5955ebe334 Add link to INSERT in docs.
Robert Treat
2005-03-17 20:24:34 +00:00
Bruce Momjian
28d150d8e9 Update file system snapshot docs. 2005-03-17 15:38:46 +00:00
Bruce Momjian
118bf5bc22 Mention tablespaces as a problem for using file system snapshots. 2005-03-17 05:10:11 +00:00
Bruce Momjian
ca2d08579e Document use of rsync for file system backups.
Tino Wildenhain
2005-03-17 05:03:37 +00:00
Bruce Momjian
82c46e5a70 Add mention of compatibility problem with turning off backslash escapes:
<   SQL-spec compliant, so allow such handling to be disabled.
>   SQL-spec compliant, so allow such handling to be disabled.  However,
>   disabling backslashes could break many third-party applications and tools.
2005-03-17 04:42:15 +00:00
Neil Conway
957f51ea6b Add a reference to the documentation on alternate index operator classes in
the locale docs. Patch from Chris KL, editorialization by Neil Conway.
2005-03-17 00:22:24 +00:00
Tom Lane
f97aebd162 Revise TupleTableSlot code to avoid unnecessary construction and disassembly
of tuples when passing data up through multiple plan nodes.  A slot can now
hold either a normal "physical" HeapTuple, or a "virtual" tuple consisting
of Datum/isnull arrays.  Upper plan levels can usually just copy the Datum
arrays, avoiding heap_formtuple() and possible subsequent nocachegetattr()
calls to extract the data again.  This work extends Atsushi Ogawa's earlier
patch, which provided the key idea of adding Datum arrays to TupleTableSlots.
(I believe however that something like this was foreseen way back in Berkeley
days --- see the old comment on ExecProject.)  A test case involving many
levels of join of fairly wide tables (about 80 columns altogether) showed
about 3x overall speedup, though simple queries will probably not be
helped very much.

I have also duplicated some code in heaptuple.c in order to provide versions
of heap_formtuple and friends that use "bool" arrays to indicate null
attributes, instead of the old convention of "char" arrays containing either
'n' or ' '.  This provides a better match to the convention used by
ExecEvalExpr.  While I have not made a concerted effort to get rid of uses
of the old routines, I think they should be deprecated and eventually removed.
2005-03-16 21:38:10 +00:00
Bruce Momjian
86ad33cd48 Update to 8.0.1. 2005-03-15 22:38:23 +00:00
Bruce Momjian
05be5cc4e0 Add:
> * Allow sequential scans to take advantage of other concurrent
>   sequentiqal scans, also called "Synchronised Scanning"
2005-03-15 05:31:27 +00:00
Bruce Momjian
d5bc23878a Update Win32 item:
<         o Disallow encodings like UTF8 which PostgreSQL supports
<           but the operating system does not (already disallowed by
< 	  pginstaller)
>         o Add support for Unicode
< 	  To fix UTF8, the data needs to be converted to UTF16 and then
< 	  the Win32 wcscoll() can be used, and perhaps other functions
> 	  To fix this, the data needs to be converted to/from UTF16/UTF8
>           so the Win32 wcscoll() can be used, and perhaps other functions
< 	  locales but provides no ordering.
<
> 	  locales but provides no ordering or character set classes.
2005-03-15 04:01:21 +00:00
Bruce Momjian
17c8276d24 Clean up win1252 documentation. Mention how we determine the number of
bytes/character for each encoding.
2005-03-15 02:30:33 +00:00
Bruce Momjian
e7fb9f18bf Add support for Win1252 encoding.
Roland Volkmann
2005-03-14 18:31:25 +00:00
Bruce Momjian
2ed560c99f Completed:
> * -Cache last known per-tuple offsets to speed long tuple access
2005-03-14 16:37:02 +00:00
Neil Conway
9abced035d Fix mistakes in SGML markup. From David Fetter. 2005-03-14 06:49:48 +00:00
Tom Lane
251d3f75d0 Note that the -F and -R command line options only affect unaligned
output mode.  This was already stated in other places in the psql
reference page, but not here.
2005-03-14 06:19:01 +00:00
Bruce Momjian
d1022ce3a1 Document client-only encodings. 2005-03-14 03:59:22 +00:00
Bruce Momjian
4973296035 Fix typo on URL. 2005-03-14 03:07:25 +00:00
Bruce Momjian
c1186dd594 Add user:
> * Support triggers on columns (Greg Sabino Mullane)
2005-03-14 03:00:26 +00:00
Bruce Momjian
a03bb609b3 Finalize character set documentation changes. 2005-03-14 02:14:42 +00:00
Neil Conway
c069655441 Allow ALTER FUNCTION to change a function's strictness, volatility, and
whether or not it is a security definer. Changing a function's strictness
is required by SQL2003, and the other capabilities make sense. Also, allow
an optional RESTRICT noise word to be specified, for SQL conformance.

Some trivial regression tests added and the documentation has been
updated.
2005-03-14 00:19:37 +00:00
Bruce Momjian
cbc100af66 Increment all major version numbers in 8.0.X to force recompile of
client aplications so 7.4.X releases can be installed on the same
machine as 8.0.X.
2005-03-13 22:04:29 +00:00
Bruce Momjian
8264cbcb50 Remove CENTER tag. 2005-03-13 19:27:53 +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
0edc2f14e0 More ordering adjustments. 2005-03-13 05:31:04 +00:00
Bruce Momjian
c151e6374c Fix markup. 2005-03-13 05:16:33 +00:00
Bruce Momjian
119807e397 More markup changes. 2005-03-13 05:11:49 +00:00
Bruce Momjian
1c0aeec65b More cleanups. 2005-03-13 04:35:06 +00:00
Bruce Momjian
cbe4b4163e More improvements. 2005-03-13 04:10:23 +00:00
Bruce Momjian
a717ab6fa6 More additions to the table. 2005-03-13 03:44:51 +00:00
Bruce Momjian
1fa8445233 Keep changing the markup until I like it. :-) 2005-03-13 03:02:08 +00:00
Bruce Momjian
382f24b187 More table markup improvements. 2005-03-13 02:54:34 +00:00
Bruce Momjian
7b7abb7ccb More table markup fixes. 2005-03-13 02:33:03 +00:00
Bruce Momjian
6109a1ce18 Rework "aliases" column for encodings. 2005-03-13 02:20:50 +00:00
Bruce Momjian
074ba31e41 Fix markup typo. 2005-03-13 02:07:04 +00:00
Bruce Momjian
f949baf9a2 Add missing conversion documentation for certain encodings. 2005-03-13 02:02:44 +00:00
Bruce Momjian
e42e3b6c56 Reorder documented encodings to be alphabetical.
Remove warning about pre-7.2 LATIN5 usage.
2005-03-13 01:30:59 +00:00
Bruce Momjian
ee1bd33dd0 Document aliases for our supported encodings.
Add a few encodings that were not documented.
2005-03-13 01:26:30 +00:00
Tom Lane
fa5e44017a Adjust the API for aggregate function calls so that a C-coded function
can tell whether it is being used as an aggregate or not.  This allows
such a function to avoid re-pallocing a pass-by-reference transition
value; normally it would be unsafe for a function to scribble on an input,
but in the aggregate case it's safe to reuse the old transition value.
Make int8inc() do this.  This gets a useful improvement in the speed of
COUNT(*), at least on narrow tables (it seems to be swamped by I/O when
the table rows are wide).  Per a discussion in early December with
Neil Conway.  I also fixed int_aggregate.c to check this, thereby
turning it into something approaching a supportable technique instead
of being a crude hack.
2005-03-12 20:25:06 +00:00
Bruce Momjian
852ef58da9 Documention all our supported encodings. 2005-03-12 06:28:17 +00:00
Bruce Momjian
948c41f404 Done:
< 	o Allow COPY FROM ... CSV to interpret newlines and carriage
> 	o -Allow COPY FROM ... CSV to interpret newlines and carriage
2005-03-12 05:41:38 +00:00
Bruce Momjian
06a61d66f9 Done:
* -Add a warning when the free space map is too small
2005-03-12 05:25:49 +00:00
Bruce Momjian
b9de4a26cf Here's the patch to fix a lot of markup errors in the HTML FAQs. Doesn't
change content (at least not supposed to).

Magnus Hagander
2005-03-11 21:46:54 +00:00
Bruce Momjian
db48396a8a Fix typos.
Hashem Masoud
2005-03-11 13:09:39 +00:00
Bruce Momjian
85ecedf1d8 Fix typos.
Robert Treat
2005-03-11 11:59:16 +00:00
Bruce Momjian
e185618f5d Fix typos.
Robert Treat
2005-03-11 11:43:45 +00:00
Bruce Momjian
7e3a8d9a83 Fix typo. 2005-03-11 11:42:03 +00:00
Bruce Momjian
a258a1bba8 Add:
> * Fix cross-compiling of time zone database via 'zic'
2005-03-11 03:45:25 +00:00
Tom Lane
595ed2a855 Make the behavior of HAVING without GROUP BY conform to the SQL spec.
Formerly, if such a clause contained no aggregate functions we mistakenly
treated it as equivalent to WHERE.  Per spec it must cause the query to
be treated as a grouped query of a single group, the same as appearance
of aggregate functions would do.  Also, the HAVING filter must execute
after aggregate function computation even if it itself contains no
aggregate functions.
2005-03-10 23:21:26 +00:00
Bruce Momjian
e829f82223 Add comma. 2005-03-08 13:27:31 +00:00
Bruce Momjian
3716e12808 Fix markup of URL. 2005-03-08 03:52:57 +00:00
Bruce Momjian
2b26458a91 Add URL for patches queues. 2005-03-08 01:15:33 +00:00
Bruce Momjian
e3d7de6b99 Rename canonical encodings, per Peter:
UNICODE => UTF8
	ALT => WIN866
	WIN => WIN1251
	TCVN => WIN1258

The old codes continue to work.
2005-03-07 04:30:55 +00:00
Tom Lane
1fcfa038ce Add a note that regression test row ordering differences can be caused
by non-default planner parameter settings.
2005-03-07 02:00:28 +00:00
Tom Lane
5d5087363d Replace the BufMgrLock with separate locks on the lookup hashtable and
the freelist, plus per-buffer spinlocks that protect access to individual
shared buffer headers.  This requires abandoning a global freelist (since
the freelist is a global contention point), which shoots down ARC and 2Q
as well as plain LRU management.  Adopt a clock sweep algorithm instead.
Preliminary results show substantial improvement in multi-backend situations.
2005-03-04 20:21:07 +00:00
Tom Lane
5c2e68ba6b Fix misspelling of sysctl, per Stefan Hans. 2005-03-02 19:58:54 +00:00
Neil Conway
87aafa1600 SGML improvements to the DML chapter. 2005-03-01 23:45:00 +00:00