aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Provide a build-time option to store large relations as single files, ratherTom Lane2008-03-10
| | | | | | | | than dividing them into 1GB segments as has been our longtime practice. This requires working support for large files in the operating system; at least for the time being, it won't be the default. Zdenek Kotala
* Add:Bruce Momjian2008-03-10
| | | | | | | | > > * Consider increasing the minimum allowed number of shared buffers > > http://archives.postgresql.org/pgsql-bugs/2008-02/msg00157.php >
* Bump catversion from guc enum patch, which I forgot. Sorry!Magnus Hagander2008-03-10
|
* Fix unportable coding of new error message, per Kris Jurka.Tom Lane2008-03-10
|
* Implement enum type for guc parameters, and convert a couple of existingMagnus Hagander2008-03-10
| | | | | | | | | variables to it. More need to be converted, but I wanted to get this in before it conflicts with too much... Other than just centralising the text-to-int conversion for parameters, this allows the pg_settings view to contain a list of available options and allows an error hint to show what values are allowed.
* Document and enforce that the usable range of setseed() arguments isTom Lane2008-03-10
| | | | | -1 to 1, not 0 to 1. The actual behavior for values within this range does not change. Kris Jurka
* Throw an error for negative LIMIT or OFFSET values, instead of silentlyTom Lane2008-03-10
| | | | treating them as zero. Simon Riggs
* Increase the default value of log_min_messages to WARNING, so thatTom Lane2008-03-10
| | | | | NOTICE-grade messages are not logged by default. Per pgsql-hackers discussion back on 21-Nov-2007.
* Add a CaseSensitive parameter to synonym dictionaries.Tom Lane2008-03-10
| | | | Simon Riggs
* Remove no-longer-used XLogCacheByte field of XLogCtl.Tom Lane2008-03-10
| | | | Itagaki Takahiro
* Reduce memory consumption during VACUUM of large relations, by usingTom Lane2008-03-10
| | | | | | | FSMPageData (6 bytes) instead of PageFreeSpaceInfo (8 or 16 bytes) for the temporary array of page-free-space information. Itagaki Takahiro
* Fix pgbench's getrand() function so that min and max have approximatelyTom Lane2008-03-10
| | | | | the same chance of being selected as do numbers between them. Problem noted by Greg Stark; fix by Alexey Klyukin.
* Remove postmaster.c's check that NBuffers is at least twice MaxBackends.Tom Lane2008-03-09
| | | | | | | | | | | | With the addition of multiple autovacuum workers, our choices were to delete the check, document the interaction with autovacuum_max_workers, or complicate the check to try to hide that interaction. Since this restriction has never been adequate to ensure backends can't run out of pinnable buffers, it doesn't really have enough excuse to live to justify the second or third choices. Per discussion of a complaint from Andreas Kling (see also bug #3888). This commit also removes several documentation references to this restriction, but I'm not sure I got them all.
* Change patternsel() so that instead of switching from a pureTom Lane2008-03-09
| | | | | | | | | | pattern-examination heuristic method to purely histogram-driven selectivity at histogram size 100, we compute both estimates and use a weighted average. The weight put on the heuristic estimate decreases linearly with histogram size, dropping to zero for 100 or more histogram entries. Likewise in ltreeparentsel(). After a patch by Greg Stark, though I reorganized the logic a bit to give the caller of histogram_selectivity() more control.
* Modify prefix_selectivity() so that it will never estimate the selectivityTom Lane2008-03-08
| | | | | | | | | | | | | | of the generated range condition var >= 'foo' AND var < 'fop' as being less than what eqsel() would estimate for var = 'foo'. This is intuitively reasonable and it gets rid of the need for some entirely ad-hoc coding we formerly used to reject bogus estimates. The basic problem here is that if the prefix is more than a few characters long, the two boundary values are too close together to be distinguishable by comparison to the column histogram, resulting in a selectivity estimate of zero, which is often not very sane. Change motivated by an example from Peter Eisentraut. Arguably this is a bug fix, but I'll refrain from back-patching it for the moment.
* Refactor heap_page_prune so that instead of changing item states on-the-fly,Tom Lane2008-03-08
| | | | | | | | | | | | | | | | | it accumulates the set of changes to be made and then applies them. It had to accumulate the set of changes anyway to prepare a WAL record for the pruning action, so this isn't an enormous change; the only new complexity is to not doubly mark tuples that are visited twice in the scan. The main advantage is that we can substantially reduce the scope of the critical section in which the changes are applied, thus avoiding PANIC in foreseeable cases like running out of memory in inval.c. A nice secondary advantage is that it is now far clearer that WAL replay will actually do the same thing that the original pruning did. This commit doesn't do anything about the open problem that CacheInvalidateHeapTuple doesn't have the right semantics for a CTID change caused by collapsing out a redirect pointer. But whatever we do about that, it'll be a good idea to not do it inside a critical section.
* Add:Bruce Momjian2008-03-08
| | | | | | | | > > * Consider a function-based API for '@@' full text searches > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php >
* Improve efficiency of attribute scanning in CopyReadAttributesCSV.Andrew Dunstan2008-03-08
| | | | | | The loop is split into two parts, inside quotes, and outside quotes, saving some instructions in both parts. Heikki Linnakangas
* Improve pglz_decompress() so that it cannot clobber memory beyond theTom Lane2008-03-08
| | | | | | | | | | | | available output buffer when presented with corrupt input. Some testing suggests that this slows the decompression loop about 1%, which seems an acceptable price to pay for more robustness. (Curiously, the penalty seems to be *less* on not-very-compressible data, which I didn't expect since the overhead per output byte ought to be more in the literal-bytes path.) Patch from Zdenek Kotala. I fixed a corner case and did some renaming of variables to make the routine more readable.
* This patch addresses some issues in TOAST compression strategy thatTom Lane2008-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | were discussed last year, but we felt it was too late in the 8.3 cycle to change the code immediately. Specifically, the patch: * Reduces the minimum datum size to be considered for compression from 256 to 32 bytes, as suggested by Greg Stark. * Increases the required compression rate for compressed storage from 20% to 25%, again per Greg's suggestion. * Replaces force_input_size (size above which compression is forced) with a maximum size to be considered for compression. It was agreed that allowing large inputs to escape the minimum-compression-rate requirement was not bright, and that indeed we'd rather have a knob that acted in the other direction. I set this value to 1MB for the moment, but it could use some performance studies to tune it. * Adds an early-failure path to the compressor as suggested by Jan: if it's been unable to find even one compressible substring in the first 1KB (parameterizable), assume we're looking at incompressible input and give up. (Possibly this logic can be improved, but I'll commit it as-is for now.) * Improves the toasting heuristics so that when we have very large fields with attstorage 'x' or 'e', we will push those out to toast storage before considering inline compression of shorter fields. This also responds to a suggestion of Greg's, though my original proposal for a solution was a bit off base because it didn't fix the problem for large 'e' fields. There was some discussion in the earlier threads of exposing some of the compression knobs to users, perhaps even on a per-column basis. I have not done anything about that here. It seems to me that if we are changing around the parameters, we'd better get some experience and be sure we are happy with the design before we set things in stone by providing user-visible knobs.
* Add:Bruce Momjian2008-03-07
| | | | | | | | | > > * Add a function like pg_get_indexdef() that report more detailed index > information > > http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php >
* Add:Bruce Momjian2008-03-07
| | | | | | | | | | > > > o Prevent autovacuum from running if an old transaction is still > running from the last vacuum > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php >
* Added to TODO:Bruce Momjian2008-03-07
| | | | | | | > > * Allow text search dictionary to filter out only stop words > > http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
* Add to TODO:Bruce Momjian2008-03-07
| | | | | | | | > > * Consider allowing higher priority queries to have referenced buffer > cache pages stay in memory longer > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php
* Add:Bruce Momjian2008-03-07
| | | | | | | > > * Improve referential integrity checks > > http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php
* Add item:Bruce Momjian2008-03-07
| | | | | | | > o Store per-table autovacuum settings in pg_class.reloptions. > > http://archives.postgresql.org/pgsql-hackers/2007-02/msg01440.php > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00724.php
* Add URL for:Bruce Momjian2008-03-07
| | | | | | | * Allow multiple identical NOTIFY events to always be communicated to the client, rather than sent as a single notification to the listener http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
* Add:Bruce Momjian2008-03-07
| | | | | | > o Add SQLSTATE severity to PGconn return status > > http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php
* Change hashscan.c to keep its list of active hash index scans inTom Lane2008-03-07
| | | | | | | | | | | | | TopMemoryContext, rather than scattered through executor per-query contexts. This poses no danger of memory leak since the ResourceOwner mechanism guarantees release of no-longer-needed items. It is needed because the per-query context might already be released by the time we try to clean up the hash scan list. Report by ykhuang, diagnosis by Heikki. Back-patch to 8.0, where the ResourceOwner-based cleanup was introduced. The given test case does not fail before 8.2, probably because we rearranged transaction abort processing somehow; but this coding is undoubtedly risky so I'll patch 8.0 and 8.1 anyway.
* Add:Bruce Momjian2008-03-07
| | | | | | | > o Have \l+ show database size, if permissions allow > > Ideally it will not generate an error for invalid permissions >
* Add:Bruce Momjian2008-03-07
| | | | | | | | | | > > * Add comments on system tables/columns using the information in > catalogs.sgml > > Ideally the information would be pulled from the SGML file > automatically. >
* Fix memory arrangement of tsquery after removing stop words. It causesTeodor Sigaev2008-03-07
| | | | | | | | | | | | a unused memory holes in tsquery. Per report by Richard Huxton <dev@archonet.com>. It was working well because in fact tsquery->size is not used for any kind of operation except comparing tsqueries. So, in HEAD it's enough to fix to_tsquery function, but for previous version it's needed to remove optimization in CompareTSQ to prevent requirement of renew all stored tsquery.
* Clearify PITR doc wording.Bruce Momjian2008-03-07
|
* Update wording:Bruce Momjian2008-03-07
| | | | | < o Require all check constraints to be inherited > o Require all CHECK constraints to be inherited
* Add:Bruce Momjian2008-03-07
| | | | | | | > > o Require all check constraints to be inherited > > http://archives.postgresql.org/pgsql-bugs/2007-04/msg00026.php
* Add:Bruce Momjian2008-03-07
| | | | | | | | > o Have \d show foreign keys that reference a table's primary key > > http://archives.postgresql.org/pgsql-hackers/2007-04/msg00424.php > > o Have \d show child tables that inherit from the specified parent
* Add URL for:Bruce Momjian2008-03-06
| | | | | | | * Consider compressing indexes by storing key values duplicated in several rows as a single index entry > http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php
* Add URL for:Bruce Momjian2008-03-06
| | | | | | * Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
* Add URLs for:Bruce Momjian2008-03-06
| | | | | | | | | | * Consider compressing indexes by storing key values duplicated in several rows as a single index entry > > http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php > http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php > http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php >
* Add URL for:Bruce Momjian2008-03-06
| | | | | | * Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-hackers/2007-01/msg01375.php
* Document that enabling asserts can _significantly_ slow down the server.Bruce Momjian2008-03-06
| | | | Back patch to 8.3.X.
* Add:Bruce Momjian2008-03-06
| | | | | | | | | | > > * Allow client certificate names to be checked against the client > hostname > > This is already implemented in > libpq/fe-secure.c::verify_peer_name_matches_certificate() but the code > is commented out.
* Document use of pg_locks.objid for advisory locks, suggestion from Marc MaminBruce Momjian2008-03-06
|
* Add:Bruce Momjian2008-03-06
| | | | | | | | > > * Reduce memory usage of aggregates in set returning functions > > http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php >
* Add:Bruce Momjian2008-03-06
| | | | | | | | | > > o Prevent escape string warnings when object names have > backslashes > > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00227.php >
* Add:Bruce Momjian2008-03-06
| | | | | | | | | > * Prevent malicious functions from being executed with the permissions > of unsuspecting users > > Index functions are safe, so VACUUM and ANALYZE are safe too. > Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php
* Improve "bgwriter_lru_multiplier" GUC description.Bruce Momjian2008-03-06
|
* Move client encoding libpq function docs into libpq doc section, andBruce Momjian2008-03-06
| | | | | | just reference them from the localization doc section. Backpatch to 8.3.X.
* Wording fix:Bruce Momjian2008-03-06
| | | | | < o Have CONSTRAINT cname NOT NULL preserve the contraint name > o Have CONSTRAINT cname NOT NULL record the contraint name
* Add:Bruce Momjian2008-03-06
| | | | | | | | | > > o Have CONSTRAINT cname NOT NULL preserve the contraint name > > Right now pg_attribute.attnotnull records the NOT NULL status > of the column, but does not record the contraint name >