aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Make new hints follow style guide.Tom Lane2005-08-10
|
* Add hints to cases where indexes fail because of values that are too long.Bruce Momjian2005-08-10
|
* Document why Win32 loops over rename/unlink are necessary.Bruce Momjian2005-08-10
|
* Extend pg_config to be able to report the build-time values of CC,Tom Lane2005-08-09
| | | | | | 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.
* Make backends that are reading the pgstats file verify each backend PIDTom Lane2005-08-09
| | | | | | | 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.
* Update postgresql.conf to show default ordering for wal_sync_method.Bruce Momjian2005-08-09
|
* Remove unintended file change.Bruce Momjian2005-08-09
|
* Clarify wal_sync_method options in documentation.Bruce Momjian2005-08-09
|
* Fix crash when reading 'timezone = unknown' from postgresql.conf duringTom Lane2005-08-08
| | | | | SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string. Problem was introduced during timezone library rewrite.
* Avoid useless loop overhead in AtEOXact routines when the backend isTom Lane2005-08-08
| | | | compiled with USE_ASSERT_CHECKING but is running with assert_enabled false.
* Modify AtEOXact_CatCache and AtEOXact_RelationCache to assume that theTom Lane2005-08-08
| | | | | | | | | | | 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.
* Cygwin no longer needs to hack SHLIB_LINK, now that Rocco AltierTom Lane2005-08-08
| | | | fixed the contrib library inclusions properly.
* Cause ShutdownPostgres to do a normal transaction abort during backendTom Lane2005-08-08
| | | | | | | | 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.
* Set shlib naming convention on Cygwin to 'cygFOO.dll', which appearsTom Lane2005-08-07
| | | | | to be the platform standard. This should fix recursive-rule breakage due to recent Makefile changes. Per discussion.
* Fix count_usable_fds() to stop trying to open files once it reachesTom Lane2005-08-07
| | | | | | 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.
* COPY performance improvements. Avoid calling CopyGetData for each inputTom Lane2005-08-06
| | | | | | | | | | 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.
* Actually, this macro had worse problems than a bogus name ...Tom Lane2005-08-05
|
* Fix misspelled macro name. Doesn't appear to be used anywhere yet,Tom Lane2005-08-05
| | | | so no one noticed.
* ALTER TABLE OWNER must change the ownership of the table's rowtype too.Tom Lane2005-08-04
| | | | | | | | | | | | | 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.
* Tweak BgBufferSync() so that a persistent write error on a dirty bufferTom Lane2005-08-02
| | | | | | | 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.
* Prevent planner from including temp tables of other backends when expandingTom Lane2005-08-02
| | | | an inheritance tree. Per recent discussions.
* Clean up CREATE DATABASE processing to make it more robust and get ridTom Lane2005-08-02
| | | | | | | | | | | | 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.
* Code and docs review for pg_column_size() patch.Tom Lane2005-08-02
|
* Use ReadDir() not readdir() so as to have some modicum of error checking.Tom Lane2005-08-02
|
* Add ERROR_NO_MORE_FILES workaround to check_data_dir(). This may orTom Lane2005-08-02
| | | | | may not be obsolete, but since every other readdir loop in our code has it, I think this should too.
* rmtree() reported the wrong pathname if final rmdir failed.Tom Lane2005-08-02
|
* Un-Windows-ify newlines.Tom Lane2005-08-02
|
* Add NOWAIT option to SELECT FOR UPDATE/SHARE.Tom Lane2005-08-01
| | | | | Original patch by Hans-Juergen Schoenig, revisions by Karel Zak and Tom Lane.
* Add ALTER object SET SCHEMA capability for a limited but useful set ofTom Lane2005-08-01
| | | | | | object kinds (tables, functions, types). Documentation is not here yet. Original code by Bernd Helmle, extensive rework by Bruce Momjian and Tom Lane.
* Add per-user and per-database connection limit options.Tom Lane2005-07-31
| | | | | This patch also includes preliminary update of pg_dumpall for roles. Petr Jelinek, with review by Bruce Momjian and Tom Lane.
* Use the standard spelling of the protocol argument to get/setsockopt.Tom Lane2005-07-30
|
* Fix justify_days() for integer datestamp, clean up code.Bruce Momjian2005-07-30
|
* Add GUC variables to control keep-alive times for idle, interval, andBruce Momjian2005-07-30
| | | | | | count. Oliver Jowett
* Please find attached diffs for documentation and simple regressionBruce Momjian2005-07-30
| | | | | | | | | 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
* Fix compile for no O_SYNC, but introduced with O_DIRECT.Bruce Momjian2005-07-30
|
* SUNOS4_CC -> SUNOS_CC.Bruce Momjian2005-07-30
|
* Fix an oversight I introduced on 2003-12-28: find_nots/push_nots shouldTom Lane2005-07-29
| | | | | | | | | 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.
* Clean up a number of autovacuum loose ends. Make the stats collectorTom Lane2005-07-29
| | | | | | | | 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.
* It appears we need -DSUNOS4_CC for both solaris and sunos4 templates.Tom Lane2005-07-29
| | | | Per report from Andrew Clark.
* Move reindexdb from /contrib to /bin.Bruce Momjian2005-07-29
| | | | Euler Taveira de Oliveira
* Update catversion for dbsize changes.Bruce Momjian2005-07-29
|
* Move dbsize functions into the backend. New functions:Bruce Momjian2005-07-29
| | | | | | | | | | | | pg_tablespace_size pg_database_size pg_relation_size pg_complete_relation_size pg_size_pretty Remove /contrib/dbsize. Dave Page
* Fix typo.Bruce Momjian2005-07-29
| | | | uniware
* Update O_DIRECT comment.Bruce Momjian2005-07-29
|
* Use O_DIRECT if available when using O_SYNC for wal_sync_method.Bruce Momjian2005-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Thank you for applying patch --- regexp_replace.Bruce Momjian2005-07-29
| | | | | | | | | | 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
* Make use of new list primitives list_append_unique and list_concat_uniqueTom Lane2005-07-28
| | | | where applicable.
* Add tab completion syntax for PREPARE 2-phase commit syntax.Bruce Momjian2005-07-28
| | | | | | | There's no tab-completion for "PREPARE TRANSACTION 'xxx'" since that would be ambigous with "PREPARE xxx AS xx". Heikki Linnakangas
* Fix a bunch of bad interactions between partial indexes and the newTom Lane2005-07-28
| | | | | | | | 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.
* Code cleanup.Bruce Momjian2005-07-28
|