]> granicus.if.org Git - postgresql/log
postgresql
19 years agoModify canonicalize_path() so if we would return a trailing "..", throw
Bruce Momjian [Fri, 12 Aug 2005 19:42:45 +0000 (19:42 +0000)]
Modify canonicalize_path() so if we would return a trailing "..", throw
an error instead.

19 years agoCode & docs review for server instrumentation patch. File timestamps
Tom Lane [Fri, 12 Aug 2005 18:23:56 +0000 (18:23 +0000)]
Code & docs review for server instrumentation patch.  File timestamps
should surely be timestamptz not timestamp; fix some but not all of the
holes in check_and_make_absolute(); other minor cleanup.  Also put in
the missed catversion bump.

19 years agoAdd markup for GUC mention in docs.
Bruce Momjian [Fri, 12 Aug 2005 15:57:48 +0000 (15:57 +0000)]
Add markup for GUC mention in docs.

19 years agoChange a couple of "can't happen" error messages to be a shade more
Tom Lane [Fri, 12 Aug 2005 14:34:14 +0000 (14:34 +0000)]
Change a couple of "can't happen" error messages to be a shade more
verbose when they do happen.  The "left link changed unexpectedly"
one in particular has been seen more than once in the field.

19 years agoRemove BufferBlockPointers array in favor of a base + (bufnum) * BLCKSZ
Tom Lane [Fri, 12 Aug 2005 05:05:51 +0000 (05:05 +0000)]
Remove BufferBlockPointers array in favor of a base + (bufnum) * BLCKSZ
computation.  On modern machines this is as fast if not faster, and we
don't have to clog the CPU's L2 cache with a tens-of-KB pointer array.
If we ever decide to adopt a more dynamic allocation method for shared
buffers, we'll probably have to revert this patch, but in the meantime
we might as well save a few bytes and nanoseconds.  Per Qingqing Zhou.

19 years agoAdd files to do read I/O on the cluster directory:
Bruce Momjian [Fri, 12 Aug 2005 03:25:13 +0000 (03:25 +0000)]
Add files to do read I/O on the cluster directory:

pg_stat_file()
pg_read_file()
pg_ls_dir()
pg_reload_conf()
pg_rotate_logfile()

Dave Page
Andreas Pflug

19 years agoUpdate comments.
Bruce Momjian [Fri, 12 Aug 2005 03:07:45 +0000 (03:07 +0000)]
Update comments.

19 years agoDocument why we only handle trailing "..".
Bruce Momjian [Fri, 12 Aug 2005 02:48:37 +0000 (02:48 +0000)]
Document why we only handle trailing "..".

19 years agoSolve the problem of OID collisions by probing for duplicate OIDs
Tom Lane [Fri, 12 Aug 2005 01:36:05 +0000 (01:36 +0000)]
Solve the problem of OID collisions by probing for duplicate OIDs
whenever we generate a new OID.  This prevents occasional duplicate-OID
errors that can otherwise occur once the OID counter has wrapped around.
Duplicate relfilenode values are also checked for when creating new
physical files.  Per my recent proposal.

19 years agoFix BSD fseeko to seek from the end of the file.
Bruce Momjian [Thu, 11 Aug 2005 23:05:14 +0000 (23:05 +0000)]
Fix BSD fseeko to seek from the end of the file.

19 years agoEINTR return from connect() should be treated exactly the same as
Tom Lane [Thu, 11 Aug 2005 22:53:41 +0000 (22:53 +0000)]
EINTR return from connect() should be treated exactly the same as
EINPROGRESS, according to Florian Hars.  I'm not completely convinced
but the spec does seem to read that way.

19 years agoAutovacuum loose end mop-up. Provide autovacuum-specific vacuum cost
Tom Lane [Thu, 11 Aug 2005 21:11:50 +0000 (21:11 +0000)]
Autovacuum loose end mop-up.  Provide autovacuum-specific vacuum cost
delay and limit, both as global GUCs and as table-specific entries in
pg_autovacuum.  stats_reset_on_server_start is now OFF by default,
but a reset is forced if we did WAL replay.  XID-wrap vacuums do not
ANALYZE, but do FREEZE if it's a template database.  Alvaro Herrera

19 years agoUpdate for new CVS homepage.
Bruce Momjian [Thu, 11 Aug 2005 13:52:33 +0000 (13:52 +0000)]
Update for new CVS homepage.

19 years agoMention MD5 function index for indexing long values.
Bruce Momjian [Thu, 11 Aug 2005 13:22:33 +0000 (13:22 +0000)]
Mention MD5 function index for indexing long values.

19 years agoUpdate MD5 mention for long values.
Bruce Momjian [Thu, 11 Aug 2005 13:22:07 +0000 (13:22 +0000)]
Update MD5 mention for long values.

19 years agoFix canonicalize_path so "../.." isn't stripped off and ignored.
Bruce Momjian [Thu, 11 Aug 2005 03:53:25 +0000 (03:53 +0000)]
Fix canonicalize_path so "../.." isn't stripped off and ignored.

19 years agoMake new hints follow style guide.
Tom Lane [Wed, 10 Aug 2005 22:39:00 +0000 (22:39 +0000)]
Make new hints follow style guide.

19 years agoAdd hints to cases where indexes fail because of values that are too long.
Bruce Momjian [Wed, 10 Aug 2005 21:36:46 +0000 (21:36 +0000)]
Add hints to cases where indexes fail because of values that are too long.

19 years agoDocument why Win32 loops over rename/unlink are necessary.
Bruce Momjian [Wed, 10 Aug 2005 19:52:37 +0000 (19:52 +0000)]
Document why Win32 loops over rename/unlink are necessary.

19 years agoAdd new FAQ information.
Bruce Momjian [Wed, 10 Aug 2005 19:30:05 +0000 (19:30 +0000)]
Add new FAQ information.

Martijn van Oosterhout

19 years agoExtend pg_config to be able to report the build-time values of CC,
Tom Lane [Tue, 9 Aug 2005 22:47:03 +0000 (22:47 +0000)]
Extend pg_config to be able to report the build-time values of CC,
CPPFLAGS, CFLAGS, CFLAGS_SL, LDFLAGS, LDFLAGS_SL, and LIBS.  Change it
so that invoking pg_config with no arguments reports all available
information, rather than just giving an error message.  Per discussion.

19 years agoMake backends that are reading the pgstats file verify each backend PID
Tom Lane [Tue, 9 Aug 2005 21:14:55 +0000 (21:14 +0000)]
Make backends that are reading the pgstats file verify each backend PID
against the PGPROC array.  Anything in the file that isn't in PGPROC
gets rejected as being a stale entry.  This should solve complaints about
stale entries in pg_stat_activity after a BETERM message has been dropped
due to overload.

19 years agoCombine entries:
Bruce Momjian [Tue, 9 Aug 2005 20:24:31 +0000 (20:24 +0000)]
Combine entries:

<   inheritance
< * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries
>   inheritance, and allow it to work for UPDATE and DELETE queries

19 years agoDone:
Bruce Momjian [Tue, 9 Aug 2005 17:14:48 +0000 (17:14 +0000)]
Done:

> * -Add C code on Unix to copy directories for use in creating new databases

19 years agoUpdate postgresql.conf to show default ordering for wal_sync_method.
Bruce Momjian [Tue, 9 Aug 2005 05:43:52 +0000 (05:43 +0000)]
Update postgresql.conf to show default ordering for wal_sync_method.

19 years agoRemove unintended file change.
Bruce Momjian [Tue, 9 Aug 2005 05:14:26 +0000 (05:14 +0000)]
Remove unintended file change.

19 years agoFix ordering of default sync options to match code.
Bruce Momjian [Tue, 9 Aug 2005 05:01:10 +0000 (05:01 +0000)]
Fix ordering of default sync options to match code.

19 years agoUpdate patches queue URL, description.
Bruce Momjian [Tue, 9 Aug 2005 04:56:58 +0000 (04:56 +0000)]
Update patches queue URL, description.

19 years agoDone:
Bruce Momjian [Tue, 9 Aug 2005 04:51:18 +0000 (04:51 +0000)]
Done:

> * -Allow multiple blocks to be written to WAL with one write()

19 years agoClarify wal_sync_method options in documentation.
Bruce Momjian [Tue, 9 Aug 2005 04:50:44 +0000 (04:50 +0000)]
Clarify wal_sync_method options in documentation.

19 years agoFix crash when reading 'timezone = unknown' from postgresql.conf during
Tom Lane [Mon, 8 Aug 2005 23:39:01 +0000 (23:39 +0000)]
Fix crash when reading 'timezone = unknown' from postgresql.conf during
SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string.
Problem was introduced during timezone library rewrite.

19 years agoDone:
Bruce Momjian [Mon, 8 Aug 2005 20:26:53 +0000 (20:26 +0000)]
Done:

>  o -Allow FOR UPDATE queries to do NOWAIT locks

19 years agoAvoid useless loop overhead in AtEOXact routines when the backend is
Tom Lane [Mon, 8 Aug 2005 19:44:22 +0000 (19:44 +0000)]
Avoid useless loop overhead in AtEOXact routines when the backend is
compiled with USE_ASSERT_CHECKING but is running with assert_enabled false.

19 years agoModify AtEOXact_CatCache and AtEOXact_RelationCache to assume that the
Tom Lane [Mon, 8 Aug 2005 19:17:23 +0000 (19:17 +0000)]
Modify AtEOXact_CatCache and AtEOXact_RelationCache to assume that the
ResourceOwner mechanism already released all reference counts for the
cache entries; therefore, we do not need to scan the catcache or relcache
at transaction end, unless we want to do it as a debugging crosscheck.
Do the crosscheck only in Assert mode.  This is the same logic we had
previously installed in AtEOXact_Buffers to avoid overhead with large
numbers of shared buffers.  I thought it'd be a good idea to do it here
too, in view of Kari Lavikka's recent report showing a real-world case
where AtEOXact_CatCache is taking a significant fraction of runtime.

19 years agoCygwin no longer needs to hack SHLIB_LINK, now that Rocco Altier
Tom Lane [Mon, 8 Aug 2005 03:35:13 +0000 (03:35 +0000)]
Cygwin no longer needs to hack SHLIB_LINK, now that Rocco Altier
fixed the contrib library inclusions properly.

19 years agoCause ShutdownPostgres to do a normal transaction abort during backend
Tom Lane [Mon, 8 Aug 2005 03:12:16 +0000 (03:12 +0000)]
Cause ShutdownPostgres to do a normal transaction abort during backend
exit, instead of trying to take shortcuts.  Introduce some additional
shutdown callback routines to eliminate kluges like having ProcKill
be responsible for shutting down the buffer manager.  Ensure that the
order of operations during shutdown is predictable and what you would
expect given the module layering.

19 years agoSet shlib naming convention on Cygwin to 'cygFOO.dll', which appears
Tom Lane [Sun, 7 Aug 2005 19:02:08 +0000 (19:02 +0000)]
Set shlib naming convention on Cygwin to 'cygFOO.dll', which appears
to be the platform standard.  This should fix recursive-rule breakage
due to recent Makefile changes.  Per discussion.

19 years agoFix count_usable_fds() to stop trying to open files once it reaches
Tom Lane [Sun, 7 Aug 2005 18:47:19 +0000 (18:47 +0000)]
Fix count_usable_fds() to stop trying to open files once it reaches
max_files_per_process.  Going further than that is just a waste of
cycles, and it seems that current Cygwin does not cope gracefully
with deliberately running the system out of FDs.  Per Andrew Dunstan.

19 years agoCOPY performance improvements. Avoid calling CopyGetData for each input
Tom Lane [Sat, 6 Aug 2005 20:41:58 +0000 (20:41 +0000)]
COPY performance improvements.  Avoid calling CopyGetData for each input
character, tighten the inner loops of CopyReadLine and CopyReadAttribute,
arrange to parse out all the attributes of a line in just one call instead
of one CopyReadAttribute call per attribute, be smarter about which client
encodings require slow pg_encoding_mblen() loops.  Also, clean up the
mishmash of static variables and overly-long parameter lists in favor of
passing around a single CopyState struct containing all the state data.
Original patch by Alon Goldshuv, reworked by Tom Lane.

19 years agoActually, this macro had worse problems than a bogus name ...
Tom Lane [Fri, 5 Aug 2005 15:01:48 +0000 (15:01 +0000)]
Actually, this macro had worse problems than a bogus name ...

19 years agoFix misspelled macro name. Doesn't appear to be used anywhere yet,
Tom Lane [Fri, 5 Aug 2005 14:36:43 +0000 (14:36 +0000)]
Fix misspelled macro name.  Doesn't appear to be used anywhere yet,
so no one noticed.

19 years agoALTER TABLE OWNER must change the ownership of the table's rowtype too.
Tom Lane [Thu, 4 Aug 2005 01:09:29 +0000 (01:09 +0000)]
ALTER TABLE OWNER must change the ownership of the table's rowtype too.
This was not especially critical before, but it is now that we track
ownership dependencies --- the dependency for the rowtype *must* shift
to the new owner.  Spotted by Bernd Helmle.
Also fix a problem introduced by recent change to allow non-superusers
to do ALTER OWNER in some cases: if the table had a toast table, ALTER
OWNER failed *even for superusers*, because the test being applied would
conclude that the new would-be owner had no create rights on pg_toast.
A side-effect of the fix is to disallow changing the ownership of indexes
or toast tables separately from their parent table, which seems a good
idea on the whole.

19 years agoDone:
Bruce Momjian [Wed, 3 Aug 2005 01:46:25 +0000 (01:46 +0000)]
Done:

< * Prevent inherited tables from expanding temporary subtables of other
> * -Prevent inherited tables from expanding temporary subtables of other

19 years agoTweak BgBufferSync() so that a persistent write error on a dirty buffer
Tom Lane [Tue, 2 Aug 2005 20:52:08 +0000 (20:52 +0000)]
Tweak BgBufferSync() so that a persistent write error on a dirty buffer
doesn't block the bgwriter from making progress writing out other buffers.
This was a hard problem in the context of the ARC/2Q design, but it's
trivial in the context of clock sweep ... just advance the sweep counter
before we try to write not after.

19 years agoPrevent planner from including temp tables of other backends when expanding
Tom Lane [Tue, 2 Aug 2005 20:27:45 +0000 (20:27 +0000)]
Prevent planner from including temp tables of other backends when expanding
an inheritance tree.  Per recent discussions.

19 years agoClean up CREATE DATABASE processing to make it more robust and get rid
Tom Lane [Tue, 2 Aug 2005 19:02:32 +0000 (19:02 +0000)]
Clean up CREATE DATABASE processing to make it more robust and get rid
of special case for Windows port.  Put a PG_TRY around most of createdb()
to ensure that we remove copied subdirectories on failure, even if the
failure happens while creating the pg_database row.  (I think this explains
Oliver Siegmar's recent report.)  Having done that, there's no need for
the fragile assumption that copydir() mustn't ereport(ERROR), so simplify
its API.  Eliminate the old code that used system("cp ...") to copy
subdirectories, in favor of using copydir() on all platforms.  This not
only should allow much better error reporting, but allows us to fsync
the created files before trusting that the copy has succeeded.

19 years agoCode and docs review for pg_column_size() patch.
Tom Lane [Tue, 2 Aug 2005 16:11:57 +0000 (16:11 +0000)]
Code and docs review for pg_column_size() patch.

19 years agoUse ReadDir() not readdir() so as to have some modicum of error checking.
Tom Lane [Tue, 2 Aug 2005 15:17:24 +0000 (15:17 +0000)]
Use ReadDir() not readdir() so as to have some modicum of error checking.

19 years agoAdd ERROR_NO_MORE_FILES workaround to check_data_dir(). This may or
Tom Lane [Tue, 2 Aug 2005 15:16:27 +0000 (15:16 +0000)]
Add ERROR_NO_MORE_FILES workaround to check_data_dir().  This may or
may not be obsolete, but since every other readdir loop in our code
has it, I think this should too.

19 years agormtree() reported the wrong pathname if final rmdir failed.
Tom Lane [Tue, 2 Aug 2005 15:14:47 +0000 (15:14 +0000)]
rmtree() reported the wrong pathname if final rmdir failed.

19 years agoUn-Windows-ify newlines.
Tom Lane [Tue, 2 Aug 2005 14:07:27 +0000 (14:07 +0000)]
Un-Windows-ify newlines.

19 years agoAdd NOWAIT option to SELECT FOR UPDATE/SHARE.
Tom Lane [Mon, 1 Aug 2005 20:31:16 +0000 (20:31 +0000)]
Add NOWAIT option to SELECT FOR UPDATE/SHARE.
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak
and Tom Lane.

19 years agonor -> or.
Bruce Momjian [Mon, 1 Aug 2005 19:38:03 +0000 (19:38 +0000)]
nor -> or.

19 years agoDocumentation for ALTER object SET SCHEMA commands. Also some minor
Tom Lane [Mon, 1 Aug 2005 16:11:14 +0000 (16:11 +0000)]
Documentation for ALTER object SET SCHEMA commands.  Also some minor
editorialization.

19 years agoDone:
Bruce Momjian [Mon, 1 Aug 2005 14:13:30 +0000 (14:13 +0000)]
Done:

> * -Allow limits on per-db/role connections

19 years agoDone:
Bruce Momjian [Mon, 1 Aug 2005 14:05:03 +0000 (14:05 +0000)]
Done:

<  o Allow objects to be moved to different schemas
>  o -Allow objects to be moved to different schemas

Fix word wrap:

<  * Allow GRANT/REVOKE permissions to be applied to all schema objects with one
<    command
>  o Allow GRANT/REVOKE permissions to be applied to all schema objects
>    with one command

19 years agoAdd ALTER object SET SCHEMA capability for a limited but useful set of
Tom Lane [Mon, 1 Aug 2005 04:03:59 +0000 (04:03 +0000)]
Add ALTER object SET SCHEMA capability for a limited but useful set of
object kinds (tables, functions, types).  Documentation is not here yet.
Original code by Bernd Helmle, extensive rework by Bruce Momjian and
Tom Lane.

19 years agoAdd description:
Bruce Momjian [Mon, 1 Aug 2005 00:52:27 +0000 (00:52 +0000)]
Add description:

<    This would require a new global table that is dumped to flat file for
<    use by the postmaster.  We do a similar thing for pg_shadow currently.
>    This would add a function to load the SQL table from
>           pg_hba.conf, and one to writes its contents to the flat file.
>    The table should have a line number that is a float so rows
>    can be inserted between existing rows, e.g. row 2.5 goes
>    between row 2 and row 3.

19 years agoAdd per-user and per-database connection limit options.
Tom Lane [Sun, 31 Jul 2005 17:19:22 +0000 (17:19 +0000)]
Add per-user and per-database connection limit options.
This patch also includes preliminary update of pg_dumpall for roles.
Petr Jelinek, with review by Bruce Momjian and Tom Lane.

19 years agoSuggest syntax:
Bruce Momjian [Sun, 31 Jul 2005 13:54:52 +0000 (13:54 +0000)]
Suggest syntax:

<  o Allow postgresql.conf file values to be changed via an SQL API
>  o Allow postgresql.conf file values to be changed via an SQL
>    API, perhaps using SET GLOBAL

19 years agoAdd item to sentence:
Bruce Momjian [Sun, 31 Jul 2005 03:28:52 +0000 (03:28 +0000)]
Add item to sentence:

<  * Allow server logs to be remotely read using SQL commands
151a151
> * Allow server logs to be remotely read and removed using SQL commands

19 years agoSpacing improvement.
Bruce Momjian [Sun, 31 Jul 2005 03:08:35 +0000 (03:08 +0000)]
Spacing improvement.

19 years agoFix broken markup and spelling, put paragraph in a somewhat less random
Tom Lane [Sat, 30 Jul 2005 22:53:15 +0000 (22:53 +0000)]
Fix broken markup and spelling, put paragraph in a somewhat less random
place.

19 years agoUse the standard spelling of the protocol argument to get/setsockopt.
Tom Lane [Sat, 30 Jul 2005 20:28:20 +0000 (20:28 +0000)]
Use the standard spelling of the protocol argument to get/setsockopt.

19 years agoFix justify_days() for integer datestamp, clean up code.
Bruce Momjian [Sat, 30 Jul 2005 18:20:44 +0000 (18:20 +0000)]
Fix justify_days() for integer datestamp, clean up code.

19 years agoMore vacuum markup fixes. Alvaro
Bruce Momjian [Sat, 30 Jul 2005 17:15:35 +0000 (17:15 +0000)]
More vacuum markup fixes.  Alvaro

19 years agoFix VACUUM sgml markup.
Bruce Momjian [Sat, 30 Jul 2005 17:03:56 +0000 (17:03 +0000)]
Fix VACUUM sgml markup.

19 years agoPatch to mention cost-based delay in vacuum reference
Bruce Momjian [Sat, 30 Jul 2005 15:45:49 +0000 (15:45 +0000)]
Patch to mention cost-based delay in vacuum reference

Alvaro Herrera

19 years agoAdd GUC variables to control keep-alive times for idle, interval, and
Bruce Momjian [Sat, 30 Jul 2005 15:17:26 +0000 (15:17 +0000)]
Add GUC variables to control keep-alive times for idle, interval, and
count.

Oliver Jowett

19 years agoPlease find attached diffs for documentation and simple regression
Bruce Momjian [Sat, 30 Jul 2005 14:52:04 +0000 (14:52 +0000)]
Please find attached diffs for documentation and simple regression
tests for the new interval->day changes. I added tests for
justify_hours() and justify_days() to interval.sql, as they take
interval input and produce interval output. If there's a more
appropriate place for them, please let me know.

Michael Glaesemann

19 years agoFix compile for no O_SYNC, but introduced with O_DIRECT.
Bruce Momjian [Sat, 30 Jul 2005 14:15:44 +0000 (14:15 +0000)]
Fix compile for no O_SYNC, but introduced with O_DIRECT.

19 years agoAdd constraint exclusion items:
Bruce Momjian [Sat, 30 Jul 2005 04:05:17 +0000 (04:05 +0000)]
Add constraint exclusion items:
<
> * Allow EXPLAIN to identify tables that were skipped because of
>   enable_constraint_exclusion
> * Allow EXPLAIN output to be more easily processed by scripts
760a763
> * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 03:59:23 +0000 (03:59 +0000)]
Add:

<
> * Allow enable_constraint_exclusion to work for UNIONs like it does for
>   inheritance

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 03:49:17 +0000 (03:49 +0000)]
Add:

> * Prevent inherited tables from expanding temporary subtables of other
>   sessions

19 years agoUpdate AIX FAQ.
Bruce Momjian [Sat, 30 Jul 2005 03:39:27 +0000 (03:39 +0000)]
Update AIX FAQ.

Chris Browne

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 03:21:41 +0000 (03:21 +0000)]
Add:

> * Add system view to show free space map contents
884c885
<  o Move into the backend code
>  o -Move into the backend code

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 03:18:38 +0000 (03:18 +0000)]
Add:

> * Allow SELECT ... FOR UPDATE on inherited tables

19 years agoClarify:
Bruce Momjian [Sat, 30 Jul 2005 03:16:08 +0000 (03:16 +0000)]
Clarify:

< * Add TRUNCATE permission
> * Add a separate TRUNCATE permission

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 03:15:22 +0000 (03:15 +0000)]
Add:

> * Add TRUNCATE permission
>
>   Currently only the owner can TRUNCATE a table because triggers are not
>   called, and the table is locked in exclusive mode.
>

19 years agoSUNOS4_CC -> SUNOS_CC.
Bruce Momjian [Sat, 30 Jul 2005 03:07:42 +0000 (03:07 +0000)]
SUNOS4_CC -> SUNOS_CC.

19 years agoAdd:
Bruce Momjian [Sat, 30 Jul 2005 02:52:30 +0000 (02:52 +0000)]
Add:

> * Add PQescapeIdentifier() to libpq

19 years agoFix an oversight I introduced on 2003-12-28: find_nots/push_nots should
Tom Lane [Fri, 29 Jul 2005 21:40:02 +0000 (21:40 +0000)]
Fix an oversight I introduced on 2003-12-28: find_nots/push_nots should
continue to recurse after eliminating a NOT-below-a-NOT, since the
contained subexpression will now be part of the top-level AND/OR structure
and so deserves to be simplified.  The real-world impact of this is
probably minimal, since it'd require at least three levels of NOT to make
a difference, but it's still a bug.
Also remove some redundant tests for NULL subexpressions.

19 years agoRemove contrib version of pg_autovacuum --- superseded by integrated
Tom Lane [Fri, 29 Jul 2005 19:38:22 +0000 (19:38 +0000)]
Remove contrib version of pg_autovacuum --- superseded by integrated
version.

19 years agoClean up a number of autovacuum loose ends. Make the stats collector
Tom Lane [Fri, 29 Jul 2005 19:30:09 +0000 (19:30 +0000)]
Clean up a number of autovacuum loose ends.  Make the stats collector
track shared relations in a separate hashtable, so that operations done
from different databases are counted correctly.  Add proper support for
anti-XID-wraparound vacuuming, even in databases that are never connected
to and so have no stats entries.  Miscellaneous other bug fixes.
Alvaro Herrera, some additional fixes by Tom Lane.

19 years agoIt appears we need -DSUNOS4_CC for both solaris and sunos4 templates.
Tom Lane [Fri, 29 Jul 2005 17:00:29 +0000 (17:00 +0000)]
It appears we need -DSUNOS4_CC for both solaris and sunos4 templates.
Per report from Andrew Clark.

19 years agoAdd detail:
Bruce Momjian [Fri, 29 Jul 2005 16:05:28 +0000 (16:05 +0000)]
Add detail:
>
>     If CRC check fails during recovery, remember the page in case
>     a later CRC for that page properly matches.
>

19 years agoMove reindexdb from /contrib to /bin.
Bruce Momjian [Fri, 29 Jul 2005 15:13:11 +0000 (15:13 +0000)]
Move reindexdb from /contrib to /bin.

Euler Taveira de Oliveira

19 years agoUpdate catversion for dbsize changes.
Bruce Momjian [Fri, 29 Jul 2005 15:04:22 +0000 (15:04 +0000)]
Update catversion for dbsize changes.

19 years agoRemove dbsize mention.
Bruce Momjian [Fri, 29 Jul 2005 15:03:51 +0000 (15:03 +0000)]
Remove dbsize mention.

19 years agoMove dbsize functions into the backend. New functions:
Bruce Momjian [Fri, 29 Jul 2005 14:47:04 +0000 (14:47 +0000)]
Move dbsize functions into the backend.  New functions:

pg_tablespace_size
pg_database_size
pg_relation_size
pg_complete_relation_size
pg_size_pretty

Remove /contrib/dbsize.

Dave Page

19 years agoAdd mp3 entry to FAQ.
Bruce Momjian [Fri, 29 Jul 2005 14:05:12 +0000 (14:05 +0000)]
Add mp3 entry to FAQ.

19 years agoI've had this small patch in my local tree for a while. It documents
Bruce Momjian [Fri, 29 Jul 2005 13:00:03 +0000 (13:00 +0000)]
I've had this small patch in my local tree for a while.  It documents
new commands which may make an SPI call fail.

Alvaro Herrera

19 years agoFix typo.
Bruce Momjian [Fri, 29 Jul 2005 12:59:15 +0000 (12:59 +0000)]
Fix typo.

uniware

19 years agoUpdate O_DIRECT comment.
Bruce Momjian [Fri, 29 Jul 2005 03:25:53 +0000 (03:25 +0000)]
Update O_DIRECT comment.

19 years agoDone:
Bruce Momjian [Fri, 29 Jul 2005 03:23:00 +0000 (03:23 +0000)]
Done:

< * Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
<   especially for WAL writes
> * -Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
>   for WAL writes

19 years agoUse O_DIRECT if available when using O_SYNC for wal_sync_method.
Bruce Momjian [Fri, 29 Jul 2005 03:22:33 +0000 (03:22 +0000)]
Use O_DIRECT if available when using O_SYNC for wal_sync_method.

Also, write multiple WAL buffers out in one write() operation.

ITAGAKI Takahiro

---------------------------------------------------------------------------

> If we disable writeback-cache and use open_sync, the per-page writing
> behavior in WAL module will show up as bad result. O_DIRECT is similar
> to O_DSYNC (at least on linux), so that the benefit of it will disappear
> behind the slow disk revolution.
>
> In the current source, WAL is written as:
>     for (i = 0; i < N; i++) { write(&buffers[i], BLCKSZ); }
> Is this intentional? Can we rewrite it as follows?
>    write(&buffers[0], N * BLCKSZ);
>
> In order to achieve it, I wrote a 'gather-write' patch (xlog.gw.diff).
> Aside from this, I'll also send the fixed direct io patch (xlog.dio.diff).
> These two patches are independent, so they can be applied either or both.
>
>
> I tested them on my machine and the results as follows. It shows that
> direct-io and gather-write is the best choice when writeback-cache is off.
> Are these two patches worth trying if they are used together?
>
>
>             | writeback | fsync= | fdata | open_ | fsync_ | open_
> patch       | cache     |  false |  sync |  sync | direct | direct
> ------------+-----------+--------+-------+-------+--------+---------
> direct io   | off       |  124.2 | 105.7 |  48.3 |   48.3 |  48.2
> direct io   | on        |  129.1 | 112.3 | 114.1 |  142.9 | 144.5
> gather-write| off       |  124.3 | 108.7 | 105.4 |  (N/A) | (N/A)
> both        | off       |  131.5 | 115.5 | 114.4 |  145.4 | 145.2
>
> - 20runs * pgbench -s 100 -c 50 -t 200
>    - with tuning (wal_buffers=64, commit_delay=500, checkpoint_segments=8)
> - using 2 ATA disks:
>    - hda(reiserfs) includes system and wal.
>    - hdc(jfs) includes database files. writeback-cache is always on.
>
> ---
> ITAGAKI Takahiro

19 years agoThank you for applying patch --- regexp_replace.
Bruce Momjian [Fri, 29 Jul 2005 03:17:55 +0000 (03:17 +0000)]
Thank you for applying patch --- regexp_replace.

An attached patch is a small additional improvement.

This patch use appendStringInfoText instead of appendStringInfoString.
There is an overhead of PG_TEXT_GET_STR when appendStringInfoString is
executed by text type. This can be reduced by appendStringInfoText.

Atsushi Ogawa

19 years agoMake use of new list primitives list_append_unique and list_concat_unique
Tom Lane [Thu, 28 Jul 2005 22:27:02 +0000 (22:27 +0000)]
Make use of new list primitives list_append_unique and list_concat_unique
where applicable.

19 years agoAdd tab completion syntax for PREPARE 2-phase commit syntax.
Bruce Momjian [Thu, 28 Jul 2005 22:14:30 +0000 (22:14 +0000)]
Add tab completion syntax for PREPARE 2-phase commit syntax.

There's no tab-completion for "PREPARE TRANSACTION 'xxx'" since that
would be ambigous with "PREPARE xxx AS xx".

Heikki Linnakangas

19 years agoFix a bunch of bad interactions between partial indexes and the new
Tom Lane [Thu, 28 Jul 2005 20:26:22 +0000 (20:26 +0000)]
Fix a bunch of bad interactions between partial indexes and the new
planning logic for bitmap indexscans.  Partial indexes create corner
cases in which a scan might be done with no explicit index qual conditions,
and the code wasn't handling those cases nicely.  Also be a little
tenser about eliminating redundant clauses in the generated plan.
Per report from Dmitry Karasik.