aboutsummaryrefslogtreecommitdiff
path: root/src/include/miscadmin.h
Commit message (Collapse)AuthorAge
...
* The attached patch fixes psql's win32 frontend-only build, by usingBruce Momjian2004-10-18
| | | | | | | pg_strcasecmp in variables.c, and #ifdef'ing out PostmasterPid in miscadmin.h. Dave Page
* Adjust configuration-files GUC behavior as per my recent proposal.Tom Lane2004-10-09
| | | | | | | | The vars are renamed to data_directory, config_file, hba_file, and ident_file, and are guaranteed to be set to accurate absolute paths during postmaster startup. This commit does not yet do anything about hiding path values from non-superusers.
* Fix error in Windows version of CHECK_FOR_INTERRUPTS macro.Tom Lane2004-09-06
| | | | | This prevented statement_timeout from working. Magnus Hagander
* Pgindent run for 8.0.Bruce Momjian2004-08-29
|
* Update copyright to 2004.Bruce Momjian2004-08-29
|
* Rename vacuum_cost_naptime to vacuum_cost_delay, with agreement from Jan.Bruce Momjian2004-08-06
|
* Some mop-up work for savepoints (nested transactions). Store a smallTom Lane2004-08-01
| | | | | | | | | | | | number of active subtransaction XIDs in each backend's PGPROC entry, and use this to avoid expensive probes into pg_subtrans during TransactionIdIsInProgress. Extend EOXactCallback API to allow add-on modules to get control at subxact start/end. (This is deliberately not compatible with the former API, since any uses of that API probably need manual review anyway.) Add basic reference documentation for SAVEPOINT and related commands. Minor other cleanups to check off some of the open issues for subtransactions. Alvaro Herrera and Tom Lane.
* Tablespaces. Alternate database locations are dead, long live tablespaces.Tom Lane2004-06-18
| | | | | | | | | There are various things left to do: contrib dbsize and oid2name modules need work, and so does the documentation. Also someone should think about COMMENT ON TABLESPACE and maybe RENAME TABLESPACE. Also initlocation is dead, it just doesn't know it yet. Gavin Sherry and Tom Lane.
* Separate out bgwriter code into a logically separate module, ratherTom Lane2004-05-29
| | | | | | | | | than being random pieces of other files. Give bgwriter responsibility for all checkpoint activity (other than a post-recovery checkpoint); so this child process absorbs the functionality of the former transient checkpoint and shutdown subprocesses. While at it, create an actual include file for postmaster.c, which for some reason never had its own file before.
* Code review for EXEC_BACKEND changes. Reduce the number of #ifdefs byTom Lane2004-05-28
| | | | | | | | | | | about a third, make it work on non-Windows platforms again. (But perhaps I broke the WIN32 code, since I have no way to test that.) Fold all the paths that fork postmaster child processes to go through the single routine SubPostmasterMain, which takes care of resurrecting the state that would normally be inherited from the postmaster (including GUC variables). Clean up some places where there's no particularly good reason for the EXEC and non-EXEC cases to work differently. Take care of one or two FIXMEs that remained in the code.
* Clean up some relative path install issues with Claudio's help.Bruce Momjian2004-05-18
|
* Reorganize code to allow path-relative installs.Bruce Momjian2004-05-17
| | | | | | | Create new get_* functions to access compiled-in paths and adjust if relative installs are to be used. Clean up substitute_libpath_macro() code.
* Reorganize backend code to more cleanly manage executable names andBruce Momjian2004-05-13
| | | | backend startup.
* As part of the work for making relocatable installs, I have re-factoredBruce Momjian2004-05-11
| | | | | | | | | | | | all the code that looks for other binaries. I move FindExec into port/exec.c (and renamed it to find_my_binary()). I also added find_other_binary that looks for another binary in the same directory as the calling program, and checks the version string. The only behavior change was that initdb and pg_dump would look in the hard-coded bindir directory if it can't find the requested binary in the same directory as the caller. The new code throws an error. The old behavior seemed too error prone for version mismatches.
* Here's an attempt at new socket and signal code for win32.Bruce Momjian2004-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It works on the principle of turning sockets into non-blocking, and then emulate blocking behaviour on top of that, while allowing signals to run. Signals are now implemented using an event instead of APCs, thus getting rid of the issue of APCs not being compatible with "old style" sockets functions. It also moves the win32 specific code away from pqsignal.h/c into port/win32, and also removes the "thread style workaround" of the APC issue previously in place. In order to make things work, a few things are also changed in pgstat.c: 1) There is now a separate pipe to the collector and the bufferer. This is required because the pipe will otherwise only be signalled in one of the processes when the postmaster goes down. The MS winsock code for select() must have some kind of workaround for this behaviour, but I have found no stable way of doing that. You really are not supposed to use the same socket from more than one process (unless you use WSADuplicateSocket(), in which case the docs specifically say that only one will be flagged). 2) The check for "postmaster death" is moved into a separate select() call after the main loop. The previous behaviour select():ed on the postmaster pipe, while later explicitly saying "we do NOT check for postmaster exit inside the loop". The issue was that the code relies on the same select() call seeing both the postmaster pipe *and* the pgstat pipe go away. This does not always happen, and it appears that useing WSAEventSelect() makes it even more common that it does not. Since it's only called when the process exits, I don't think using a separate select() call will have any significant impact on how the stats collector works. Magnus Hagander
* Replace max_expr_depth parameter with a max_stack_depth parameter thatTom Lane2004-03-24
| | | | | | is measured in kilobytes and checked against actual physical execution stack depth, as per my proposal of 30-Dec. This gives us a fairly bulletproof defense against crashing due to runaway recursive functions.
* Replace the virtual_host and tcpip_socket parameters with a unifiedTom Lane2004-03-23
| | | | | | | | listen_addresses parameter, as per recent discussion. The default behavior is now to listen on localhost, which eliminates the need for the -i postmaster switch in many scenarios. Andrew Dunstan
* Centralize implementation of delay code by creating a pg_usleep()Tom Lane2004-02-10
| | | | | | | | | subroutine in src/port/pgsleep.c. Remove platform dependencies from miscadmin.h and put them in port.h where they belong. Extend recent vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and non-btree index vacuuming. By the way, where is the documentation for the cost-based-delay patch?
* Win32 signals cleanup. Patch by Magnus Hagander, with input from ClaudioNeil Conway2004-02-08
| | | | | | | | | | | | | | | | | | | | | | Natoli and Bruce Momjian (and some cosmetic fixes from Neil Conway). Changes: - remove duplicate signal definitions from pqsignal.h - replace pqkill() with kill() and redefine kill() in Win32 - use ereport() in place of fprintf() in some error handling in pqsignal.c - export pg_queue_signal() and make use of it where necessary - add a console control handler for Ctrl-C and similar handling on Win32 - do WaitForSingleObjectEx() in CHECK_FOR_INTERRUPTS() on Win32; query cancelling should now work on Win32 - various other fixes and cleanups
* Cost based vacuum delay feature.Jan Wieck2004-02-06
| | | | Jan
* Rename SortMem and VacuumMem to work_mem and maintenance_work_mem.Tom Lane2004-02-03
| | | | | | | Make btree index creation and initial validation of foreign-key constraints use maintenance_work_mem rather than work_mem as their memory limit. Add some code to guc.c to allow these variables to be referenced by their old names in SHOW and SET commands, for backwards compatibility.
* Remove sleep() and use single PG_SLEEP call for Win32 signal handlingBruce Momjian2004-01-30
| | | | | | and consistency. Change PG_USLEEP to use SleepEx() for signal interuptability.
* [all] Removed call to getppid in SendPostmasterSignal, replacing with aBruce Momjian2004-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PostmasterPid variable, which gets set (early) in PostmasterMain getppid would not be the postmaster? [fork/exec] Implements processCancelRequest by keeping an array of pid/cancel_key structs in shared mem [fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into SubPostmasterMain [win32] Implements reaper/waitpid by keeping an arrays of children pids,handles in postmaster local mem - this item is largely untested, for reasons which should be obvious, but appears sound [win32/all] Added extern for pgpipe in Win32 case, and changed the second pipe call (which seems to have been missed earlier) to pgpipe [win32] #define'd ftruncate to chsize in the Win32 case [win32] PG_USLEEP for Win32 has a misplaced paren. Fixed. [win32] DLLIMPORT handling for MingW case Claudio Natoli
* Back out win32 patch so we can apply it separately.Bruce Momjian2004-01-26
|
* Attached is a patch that fixes some trivial typos and alignment. PleaseBruce Momjian2004-01-26
| | | | | | apply. Alvaro Herrera
* Remove ExpandDatabasePath(), which is unused and must have been so sinceTom Lane2004-01-22
| | | | 7.1, because the path interpretation it embodies has been wrong since 7.1.
* Oops, can't do cpp tests inside macros; make two macros instead.Bruce Momjian2004-01-09
|
* Change PG_DELAY from msec to usec and use it consistenly rather thanBruce Momjian2004-01-09
| | | | select(). Add Win32 Sleep() for delay.
* Final rearrangement of main postgresql child process (ie.Bruce Momjian2004-01-06
| | | | | | | | BackendFork/SSDataBase/pgstat) startup, to allow fork/exec calls to closely mimic (the soon to be provided) Win32 CreateProcess equivalent calls. Claudio Natoli
* Remove unused 'noversion' command-line option processing from theNeil Conway2004-01-06
| | | | backend.
* Back out:Bruce Momjian2003-12-21
| | | | | | | > Attached is a patch that addressed all the discussed issues > that did not break backward compatability, including the > ability to output ISO-8601 compliant intervals by setting > datestyle to iso8601basic.
* In my mind there were two categories of open issuesBruce Momjian2003-12-20
| | | | | | | | | | | | | | | | | | | | | | | | a) ones that are 100% backward (such as the comment about outputting this format) and b) ones that aren't (such as deprecating the current postgresql shorthand of '1Y1M'::interval = 1 year 1 minute in favor of the ISO-8601 'P1Y1M'::interval = 1 year 1 month. Attached is a patch that addressed all the discussed issues that did not break backward compatability, including the ability to output ISO-8601 compliant intervals by setting datestyle to iso8601basic. Interval values can now be written as ISO 8601 time intervals, using the "Format with time-unit designators". This format always starts with the character 'P', followed by a string of values followed by single character time-unit designators. A 'T' separates the date and time parts of the interval. Ron Mayer
* make sure the $Id tags are converted to $PostgreSQL as well ...PostgreSQL Daemon2003-11-29
|
* 2nd try for the ARC strategy.Jan Wieck2003-11-13
| | | | | | | | | I added a couple more Assertions while tracking down the exact cause of the former bug. All 93 regression tests pass now. Jan
* ARC strategy backed out ... sorryJan Wieck2003-11-13
| | | | Jan
* Replacement of the buffer replacement strategy with an ARCJan Wieck2003-11-13
| | | | | | algorithm adopted for PostgreSQL. Jan
* Repair some REINDEX problems per recent discussions. The relcache isTom Lane2003-09-24
| | | | | | | | | | | | | now able to cope with assigning new relfilenode values to nailed-in-cache indexes, so they can be reindexed using the fully crash-safe method. This leaves only shared system indexes as special cases. Remove the 'index deactivation' code, since it provides no useful protection in the shared- index case. Require reindexing of shared indexes to be done in standalone mode, but remove other restrictions on REINDEX. -P (IgnoreSystemIndexes) now prevents using indexes for lookups, but does not disable index updates. It is therefore safe to allow from PGOPTIONS. Upshot: reindexing system catalogs can be done without a standalone backend for all cases except shared catalogs.
* Mop-up for previous change to determine default shared_buffers andTom Lane2003-08-26
| | | | | | max_connections at initdb time. Get rid of DEF_NBUFFERS and DEF_MAXBACKENDS macros, which aren't doing anything useful anymore, and put more likely defaults into postgresql.conf.sample.
* Remove --enable-recode feature, since it's been broken by IPv6 changes,Tom Lane2003-08-04
| | | | and seems to have too few users to justify maintaining.
* Update copyrights to 2003.Bruce Momjian2003-08-04
|
* pgindent run.Bruce Momjian2003-08-04
|
* Apply (a somewhat revised version of) Greg Mullane's patch to eliminateTom Lane2003-07-29
| | | | | | | | | heuristic determination of day vs month in date/time input. Add the ability to specify that input is interpreted as yy-mm-dd order (which formerly worked, but only for yy greater than 31). DateStyle's input component now has the preferred spellings DMY, MDY, or YMD; the older keywords European and US are now aliases for the first two of these. Per recent discussions on pgsql-general.
* elog mop-up: bring some straggling fprintf(stderr)'s into the elog world.Tom Lane2003-07-27
|
* elog mop-up.Tom Lane2003-07-27
|
* Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL conventionTom Lane2003-07-17
| | | | | | for the sign of timezone offsets, ie, positive is east from UTC. These were previously out of step with other operations that accept or show timezones, such as I/O of timestamptz values.
* Add is_superuser parameter reporting, soon to be used by psql.Tom Lane2003-06-27
|
* First batch of object rename commands.Peter Eisentraut2003-06-27
|
* Fix things so that an error occuring during standalone-backend processingTom Lane2003-05-28
| | | | | in initdb will result in exit(1), allowing the initdb script to realize that there's something wrong.
* In bootstrap and standalone-backend modes, do not sort LOG elevel outTom Lane2003-05-28
| | | | | | | | of order; the 'server log' output is actually client output in these scenarios and we ought to treat elevels the same way as in the client case. This allows initdb to not send backend stderr to /dev/null anymore, which makes it much more likely that people will notice problems during initdb.
* Handle clog structure in shared memory in exec() case, for Win32.Bruce Momjian2003-05-03
|