Commit Graph

20951 Commits

Author SHA1 Message Date
Bruce Momjian
6effc19d9c Document why we only handle trailing "..". 2005-08-12 02:48:37 +00:00
Tom Lane
721e53785d 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.
2005-08-12 01:36:05 +00:00
Bruce Momjian
9e4a2de844 Fix BSD fseeko to seek from the end of the file. 2005-08-11 23:05:14 +00:00
Tom Lane
8e9c52e427 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.
2005-08-11 22:53:41 +00:00
Tom Lane
d90c531188 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
2005-08-11 21:11:50 +00:00
Bruce Momjian
f6c30d54fa Update for new CVS homepage. 2005-08-11 13:52:33 +00:00
Bruce Momjian
949ebbd55e Mention MD5 function index for indexing long values. 2005-08-11 13:22:33 +00:00
Bruce Momjian
e8b842b9d3 Update MD5 mention for long values. 2005-08-11 13:22:07 +00:00
Bruce Momjian
6a60357588 Fix canonicalize_path so "../.." isn't stripped off and ignored. 2005-08-11 03:53:25 +00:00
Tom Lane
24ff62d76f Make new hints follow style guide. 2005-08-10 22:39:00 +00:00
Bruce Momjian
237be3cc29 Add hints to cases where indexes fail because of values that are too long. 2005-08-10 21:36:46 +00:00
Bruce Momjian
8bbf227ad7 Document why Win32 loops over rename/unlink are necessary. 2005-08-10 19:52:37 +00:00
Bruce Momjian
e38c920dba Add new FAQ information.
Martijn van Oosterhout
2005-08-10 19:30:05 +00:00
Tom Lane
cbd015d718 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.
2005-08-09 22:47:03 +00:00
Tom Lane
c7bba5e21c 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.
2005-08-09 21:14:55 +00:00
Bruce Momjian
f80cf69031 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
2005-08-09 20:24:31 +00:00
Bruce Momjian
20e2644761 Done:
> * -Add C code on Unix to copy directories for use in creating new databases
2005-08-09 17:14:48 +00:00
Bruce Momjian
1c69547015 Update postgresql.conf to show default ordering for wal_sync_method. 2005-08-09 05:43:52 +00:00
Bruce Momjian
d359facb05 Remove unintended file change. 2005-08-09 05:14:26 +00:00
Bruce Momjian
833d91ae5e Fix ordering of default sync options to match code. 2005-08-09 05:01:10 +00:00
Bruce Momjian
df24e93933 Update patches queue URL, description. 2005-08-09 04:56:58 +00:00
Bruce Momjian
6a3021b7d3 Done:
> * -Allow multiple blocks to be written to WAL with one write()
2005-08-09 04:51:18 +00:00
Bruce Momjian
487b757b7a Clarify wal_sync_method options in documentation. 2005-08-09 04:50:44 +00:00
Tom Lane
3117afa75d 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.
2005-08-08 23:39:01 +00:00
Bruce Momjian
2dd9672d96 Done:
> 	o -Allow FOR UPDATE queries to do NOWAIT locks
2005-08-08 20:26:53 +00:00
Tom Lane
15269b5955 Avoid useless loop overhead in AtEOXact routines when the backend is
compiled with USE_ASSERT_CHECKING but is running with assert_enabled false.
2005-08-08 19:44:22 +00:00
Tom Lane
4568e0f791 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.
2005-08-08 19:17:23 +00:00
Tom Lane
be27a20123 Cygwin no longer needs to hack SHLIB_LINK, now that Rocco Altier
fixed the contrib library inclusions properly.
2005-08-08 03:35:13 +00:00
Tom Lane
7117cd3a77 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.
2005-08-08 03:12:16 +00:00
Tom Lane
89439b8c4f 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.
2005-08-07 19:02:08 +00:00
Tom Lane
5337ad464e 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.
2005-08-07 18:47:19 +00:00
Tom Lane
9b29f9f3f8 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.
2005-08-06 20:41:58 +00:00
Tom Lane
28d3ee4771 Actually, this macro had worse problems than a bogus name ... 2005-08-05 15:01:48 +00:00
Tom Lane
848c30a501 Fix misspelled macro name. Doesn't appear to be used anywhere yet,
so no one noticed.
2005-08-05 14:36:43 +00:00
Tom Lane
33f5bf9700 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.
2005-08-04 01:09:29 +00:00
Bruce Momjian
e48b28b688 Done:
< * Prevent inherited tables from expanding temporary subtables of other
> * -Prevent inherited tables from expanding temporary subtables of other
2005-08-03 01:46:25 +00:00
Tom Lane
6eac4e69cf 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.
2005-08-02 20:52:08 +00:00
Tom Lane
688784f671 Prevent planner from including temp tables of other backends when expanding
an inheritance tree.  Per recent discussions.
2005-08-02 20:27:45 +00:00
Tom Lane
558730ac6b 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.
2005-08-02 19:02:32 +00:00
Tom Lane
0001e98d54 Code and docs review for pg_column_size() patch. 2005-08-02 16:11:57 +00:00
Tom Lane
f023fc6689 Use ReadDir() not readdir() so as to have some modicum of error checking. 2005-08-02 15:17:24 +00:00
Tom Lane
74888b9349 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.
2005-08-02 15:16:27 +00:00
Tom Lane
9216c8999a rmtree() reported the wrong pathname if final rmdir failed. 2005-08-02 15:14:47 +00:00
Tom Lane
35c4764f88 Un-Windows-ify newlines. 2005-08-02 14:07:27 +00:00
Tom Lane
2a4fad1a0e Add NOWAIT option to SELECT FOR UPDATE/SHARE.
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak
and Tom Lane.
2005-08-01 20:31:16 +00:00
Bruce Momjian
ca7abcd89d nor -> or. 2005-08-01 19:38:03 +00:00
Tom Lane
f58434f18f Documentation for ALTER object SET SCHEMA commands. Also some minor
editorialization.
2005-08-01 16:11:14 +00:00
Bruce Momjian
614b6e2581 Done:
> * -Allow limits on per-db/role connections
2005-08-01 14:13:30 +00:00
Bruce Momjian
523997daf1 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
2005-08-01 14:05:03 +00:00
Tom Lane
35508d1cca 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.
2005-08-01 04:03:59 +00:00