- 10 3月, 2008 1 次提交
-
-
由 Tom Lane 提交于
the same chance of being selected as do numbers between them. Problem noted by Greg Stark; fix by Alexey Klyukin.
-
- 09 3月, 2008 5 次提交
-
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Bruce Momjian 提交于
> > * Consider a function-based API for '@@' full text searches > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php >
-
- 08 3月, 2008 11 次提交
-
-
由 Andrew Dunstan 提交于
The loop is split into two parts, inside quotes, and outside quotes, saving some instructions in both parts. Heikki Linnakangas
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
由 Bruce Momjian 提交于
> > * Add a function like pg_get_indexdef() that report more detailed index > information > > http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php >
-
由 Bruce Momjian 提交于
> > > 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 >
-
由 Bruce Momjian 提交于
> > * Allow text search dictionary to filter out only stop words > > http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
-
由 Bruce Momjian 提交于
> > * 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
-
由 Bruce Momjian 提交于
> > * Improve referential integrity checks > > http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php
-
由 Bruce Momjian 提交于
> 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
-
由 Bruce Momjian 提交于
* 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
-
由 Bruce Momjian 提交于
> o Add SQLSTATE severity to PGconn return status > > http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php
-
- 07 3月, 2008 19 次提交
-
-
由 Tom Lane 提交于
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.
-
由 Bruce Momjian 提交于
> o Have \l+ show database size, if permissions allow > > Ideally it will not generate an error for invalid permissions >
-
由 Bruce Momjian 提交于
> > * Add comments on system tables/columns using the information in > catalogs.sgml > > Ideally the information would be pulled from the SGML file > automatically. >
-
由 Teodor Sigaev 提交于
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.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
< o Require all check constraints to be inherited > o Require all CHECK constraints to be inherited
-
由 Bruce Momjian 提交于
> > o Require all check constraints to be inherited > > http://archives.postgresql.org/pgsql-bugs/2007-04/msg00026.php
-
由 Bruce Momjian 提交于
> 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
-
由 Bruce Momjian 提交于
* 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
-
由 Bruce Momjian 提交于
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
-
由 Bruce Momjian 提交于
* 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 >
-
由 Bruce Momjian 提交于
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-hackers/2007-01/msg01375.php
-
由 Bruce Momjian 提交于
Back patch to 8.3.X.
-
由 Bruce Momjian 提交于
> > * 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.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
> > * Reduce memory usage of aggregates in set returning functions > > http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php >
-
由 Bruce Momjian 提交于
> > o Prevent escape string warnings when object names have > backslashes > > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00227.php >
-
由 Bruce Momjian 提交于
> * 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
-
由 Bruce Momjian 提交于
-
- 06 3月, 2008 4 次提交
-
-
由 Bruce Momjian 提交于
just reference them from the localization doc section. Backpatch to 8.3.X.
-
由 Bruce Momjian 提交于
< o Have CONSTRAINT cname NOT NULL preserve the contraint name > o Have CONSTRAINT cname NOT NULL record the contraint name
-
由 Bruce Momjian 提交于
> > 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 >
-
由 Bruce Momjian 提交于
TODO categories.
-