- 14 1月, 2008 1 次提交
-
-
由 Alvaro Herrera 提交于
distinguished from user-invoked commands. Per suggestion from Tom Lane.
-
- 02 1月, 2008 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 16 11月, 2007 2 次提交
-
-
由 Bruce Momjian 提交于
avoid this problem in the future.)
-
由 Bruce Momjian 提交于
-
- 30 10月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
the patch, which I modified only slightly before applying.
-
- 27 10月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
to be locking another process (except when it's working to prevent Xid wraparound problems).
-
- 26 10月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
transaction end, in case we decide to do a vacuum analyze (which is done in two xacts).
-
- 25 10月, 2007 3 次提交
-
-
由 Alvaro Herrera 提交于
Also, remove redundant reset of for-wraparound PGPROC flag. Thanks to Tom Lane for noticing both bogosities.
-
由 Alvaro Herrera 提交于
having several of them. Add two more flags: whether the process is executing an ANALYZE, and whether a vacuum is for Xid wraparound (which is obviously only set by autovacuum). Sneakily move the worker's recently-acquired PostAuthDelay to a more useful place.
-
由 Alvaro Herrera 提交于
with the next table on schedule instead of exiting, in all cases instead of just on query cancel. Add a errcontext() line indicating the activity of the worker to the error message when it is cancelled. Change the WorkerInfo struct to contain a pointer to the worker's PGPROC instead of just the PID. Add forgotten post-auth delays, per Simon Riggs. Also to autovac launcher.
-
- 24 9月, 2007 3 次提交
-
-
由 Alvaro Herrera 提交于
This is problematic for the autovac launcher when there are many databases, so we keep data for a full second before reading it again.
-
由 Tom Lane 提交于
* stats_start_collector goes away; we always start the collector process, unless prevented by a problem with setting up the stats UDP socket. * stats_reset_on_server_start goes away; it seems useless in view of the availability of pg_stat_reset(). * stats_block_level and stats_row_level are merged into a single variable "track_counts", which controls all reports sent to the collector process. * stats_command_string is renamed to track_activities. * log_autovacuum is renamed to log_autovacuum_min_duration to better reflect its meaning. The log_autovacuum change is not a compatibility issue since it didn't exist before 8.3 anyway. The other changes need to be release-noted.
-
由 Tom Lane 提交于
pg_stat_activity. Per gripe from Jim Nasby.
-
- 13 9月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
who reported it privately to me.
-
- 12 9月, 2007 1 次提交
-
-
由 Tom Lane 提交于
recover from elog(ERROR). Problem was created by introduction of hash seq search tracking awhile back, and affects all branches that have bgwriter; in HEAD the disease has snuck into autovacuum and walwriter too. (Not sure that the latter two use hash_seq_search at the moment, but surely they might someday.) Per report from Sergey Koposov.
-
- 03 8月, 2007 1 次提交
-
-
由 Andrew Dunstan 提交于
so that we will be able to create a cookie for all processes for CSVlogs. It is set wherever MyProcPid is set. Take the opportunity to remove the now unnecessary session-only restriction on the %s and %c escapes in log_line_prefix.
-
- 02 7月, 2007 1 次提交
-
-
由 Tom Lane 提交于
so that it responds to SIGQUIT reasonably promptly even on machines where SA_RESTART signals restart a sleep from scratch. (This whole area could stand some rethinking, but for now make it work like the other processes do.) Also some marginal stylistic cleanups.
-
- 01 7月, 2007 1 次提交
-
-
由 Tom Lane 提交于
warning emitted by some versions of gcc.
-
- 30 6月, 2007 2 次提交
-
-
由 Alvaro Herrera 提交于
memory context pointing at a context not long lived enough. Also, create a fake PortalContext where to store the vac_context, if only to avoid having it be a top-level memory context.
-
由 Alvaro Herrera 提交于
continue with the schedule. Change current uses of SIGINT to abort a worker into SIGTERM, which keeps the old behaviour of terminating the process. Patch from ITAGAKI Takahiro, with some editorializing of my own.
-
- 26 6月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
by having the postmaster signal it when certain failures occur. This requires the postmaster setting a flag in shared memory, but should be as safe as the pmsignal.c code is. Also make sure the launcher honor's a postgresql.conf change turning it off on SIGHUP.
-
- 14 6月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
-
- 09 6月, 2007 2 次提交
-
-
由 Alvaro Herrera 提交于
causes a division-by-zero error in the vacuum code. This can happen when there are more workers than cost limit units. Per report from Galy Lee in <200705310914.l4V9E6JA094603@wwwmaster.postgresql.org>.
-
由 Alvaro Herrera 提交于
value for the vacuum code. Instead, make zero signify getting the value from a higher level configuration facility, just like -1 in the original coding. We still document that -1 is the value that disables the feature, to avoid confusing the user unnecessarily. Reported by Galy Lee in <200705310914.l4V9E6JA094603@wwwmaster.postgresql.org>; per subsequent discussion.
-
- 31 5月, 2007 1 次提交
-
-
由 Tom Lane 提交于
buffers, rather than blowing out the whole shared-buffer arena. Aside from avoiding cache spoliation, this fixes the problem that VACUUM formerly tended to cause a WAL flush for every page it modified, because we had it hacked to use only a single buffer. Those flushes will now occur only once per ring-ful. The exact ring size, and the threshold for seqscans to switch into the ring usage pattern, remain under debate; but the infrastructure seems done. The key bit of infrastructure is a new optional BufferAccessStrategy object that can be passed to ReadBuffer operations; this replaces the former StrategyHintVacuum API. This patch also changes the buffer usage-count methodology a bit: we now advance usage_count when first pinning a buffer, rather than when last unpinning it. To preserve the behavior that a buffer's lifetime starts to decrease when it's released, the clock sweep code is modified to not decrement usage_count of pinned buffers. Work not done in this commit: teach GiST and GIN indexes to use the vacuum BufferAccessStrategy for vacuum-driven fetches. Original patch by Simon, reworked by Heikki and again by Tom.
-
- 08 5月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
now". This can happen if the time granularity is not very high. Per ITAGAKI Takahiro.
-
- 04 5月, 2007 1 次提交
-
-
由 Tom Lane 提交于
-
- 03 5月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
and TimestampDifference, to make coding clearer. I think this should also fix the failure to start workers in platforms with low resolution timers, as reported by Itagaki Takahiro.
-
- 02 5月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
could happen when a worker took to long to start and was thus "aborted" by the launcher. Noticed by lionfish buildfarm member.
-
- 19 4月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
Riggs, additional code and docs by me. Per discussion.
-
- 17 4月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
processes to be running simultaneously. Also, now autovacuum processes do not count towards the max_connections limit; they are counted separately from regular processes, and are limited by the new GUC variable autovacuum_max_workers. The launcher now has intelligence to launch workers on each database every autovacuum_naptime seconds, limited only on the max amount of worker slots available. Also, the global worker I/O utilization is limited by the vacuum cost-based delay feature. Workers are "balanced" so that the total I/O consumption does not exceed the established limit. This part of the patch was contributed by ITAGAKI Takahiro. Per discussion.
-
- 29 3月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
its table list and then rechecks pgstat before vacuuming each table to verify that no one has vacuumed the table in the meantime. In the current autovacuum world this only means that a worker will not vacuum a table that a user has vacuumed manually after the worker started. When support for multiple autovacuum workers is introduced, this will reduce the probability of simultaneous workers on the same database doing redundant work.
-
- 28 3月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
table entries to a separate routine. Don't pass the pgstat database entry to do_autovacuum; rather, have it fetch it by itself.
-
- 24 3月, 2007 4 次提交
-
-
由 Alvaro Herrera 提交于
-
由 Alvaro Herrera 提交于
exactly the same, modulo whitespace.
-
由 Alvaro Herrera 提交于
-
由 Alvaro Herrera 提交于
simpler.
-
- 13 3月, 2007 1 次提交
-
-
由 Tom Lane 提交于
module and teach PREPARE and protocol-level prepared statements to use it. In service of this, rearrange utility-statement processing so that parse analysis does not assume table schemas can't change before execution for utility statements (necessary because we don't attempt to re-acquire locks for utility statements when reusing a stored plan). This requires some refactoring of the ProcessUtility API, but it ends up cleaner anyway, for instance we can get rid of the QueryContext global. Still to do: fix up SPI and related code to use the plan cache; I'm tempted to try to make SQL functions use it too. Also, there are at least some aspects of system state that we want to ensure remain the same during a replan as in the original processing; search_path certainly ought to behave that way for instance, and perhaps there are others.
-
- 07 3月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
comments and variables to "auxiliary proc", per Heikki's request.
-
- 16 2月, 2007 1 次提交
-
-
由 Alvaro Herrera 提交于
continuously, and requests vacuum runs of "autovacuum workers" to postmaster. The workers do the actual vacuum work. This allows for future improvements, like allowing multiple autovacuum jobs running in parallel. For now, the code keeps the original behavior of having a single autovac process at any time by sleeping until the previous worker has finished.
-