aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Update the location of last removed WAL segment in shared memory onlyHeikki Linnakangas2010-04-12
| | | | | | | after actually removing one, so that if we can't remove segments because WAL archiving is lagging behind, we don't unnecessarily forbid streaming the old not-yet-archived segments that are still perfectly valid. Per suggestion from Fujii Masao.
* Need to use the start pointer of a block we read from WAL segment inHeikki Linnakangas2010-04-12
| | | | the calculation, not the end pointer, as pointed out by Fujii Masao.
* Change the logic to decide when to delete old WAL segments, so that itHeikki Linnakangas2010-04-12
| | | | | | | | | | doesn't take into account how far the WAL senders are. This way a hung WAL sender doesn't prevent old WAL segments from being recycled/removed in the primary, ultimately causing the disk to fill up. Instead add standby_keep_segments setting to control how many old WAL segments are kept in the primary. This also makes it more reliable to use streaming replication without WAL archiving, assuming that you set standby_keep_segments high enough.
* Perltidy run over the MSVC build system files, to clean up code formattingMagnus Hagander2010-04-09
| | | | and indentation styles.
* Clean up inconsistent commasMagnus Hagander2010-04-09
|
* Update list of Windows timezones we try to match localized names againstMagnus Hagander2010-04-09
| | | | to one that's up to date with Windows 2003R2.
* Proceed to look for the next timezone when matching a localizedMagnus Hagander2010-04-08
| | | | | | | | | | Windows timezone name where the information in the registry is incomplete, instead of aborting. This fixes cases when the registry information is incomplete for a timezone that is alphabetically before the one that is in use. Per report from Alexander Forschner
* Make smart shutdown work in combination with Hot Standby/Streaming Replication.Robert Haas2010-04-08
| | | | | | | | | | At present, killing the startup process does not release any locks it holds, so we must wait to stop the startup and walreceiver processes until all read-only backends have exited. Without this patch, the startup and walreceiver processes never exit, so the server gets permanently stuck in a half-shutdown state. Fujii Masao, with review, docs, and comment adjustments by me.
* Fix to_char YYY, YY, Y format codes so that FM zero-suppression really works,Tom Lane2010-04-07
| | | | | | | rather than only sort-of working as the previous attempt had left it. Clean up some unnecessary differences between the way these were coded and the way the YYYY case was coded. Update the regression test cases that proved that it wasn't working.
* Allow quotes to be escaped in recovery.conf, by doubling them. This patchHeikki Linnakangas2010-04-07
| | | | | also makes the parsing a little bit stricter, rejecting garbage after the parameter value and values with missing ending quotes, for example.
* Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() duringHeikki Linnakangas2010-04-07
| | | | | | recovery. We might want to relax this in the future, but ThisTimeLineID isn't currently correct in backends during recovery, so the filename returned was wrong.
* psql tab completion for ALTER DEFAULT PRIVILEGES and USER MAPPING FOR PUBLIC.Itagaki Takahiro2010-04-07
|
* Add cygwin version check before using cygwin_conv_path(),Itagaki Takahiro2010-04-07
| | | | and use cygwin_conv_to_full_win32_path() in older versions.
* Log the actual timezone name that we fail to look up the values for inMagnus Hagander2010-04-06
| | | | | case the registry data doesn't follow the format we expect, to facilitate debugging.
* Further message changes when recovery.conf parameters missing.Simon Riggs2010-04-06
|
* Rename "Log-streaming replication parameters" header to "Standby serverHeikki Linnakangas2010-04-06
| | | | | | parameters" in recovery.conf, to match the grouping in the documentation. Fujii Masao
* Change some debug ereports to elogs, as requested by translation team.Simon Riggs2010-04-06
|
* Assorted tab-completion improvements in psql.Itagaki Takahiro2010-04-05
| | | | | | | | | | | | | | | Add missing completions for: - ALTER SEQUENCE name OWNER TO - ALTER TYPE name RENAME TO - ALTER VIEW name ALTER COLUMN - ALTER VIEW name OWNER TO - ALTER VIEW name SET SCHEMA Fix wrong completions for: - ALTER FUNCTION/AGGREGATE name (arguments) ... "(arguments)" has been ignored. - ALTER ... SET SCHEMA "SCHEMA" has been considered as a variable name.
* Exclude unwanted typedef symbols in pgindent, including FD_SET which is ↵Andrew Dunstan2010-04-05
| | | | found on some Windows platforms. Also, silence unnecessary messages and make awk happier about literal '*' on some platforms.
* Use a new API rather than a deprecated one in in cygwin.Itagaki Takahiro2010-04-05
| | | | cygwin_conv_to_full_win32_path should be replaced with cygwin_conv_path.
* Arrange to remove pg_default_acl entries completely if their ACL settingTom Lane2010-04-05
| | | | | | | | is changed to match the hard-wired default. This avoids accumulating useless catalog entries, and also provides a path for dropping the owning role without using DROP OWNED BY. Per yesterday's complaint from Jaime Casanova, the need to use DROP OWNED BY for that is less than obvious, so providing this alternative method might save some user frustration.
* Fix updateAclDependencies() to not assume that ACL role dependencies can onlyTom Lane2010-04-05
| | | | | | | | | | be added during GRANT and can only be removed during REVOKE; and fix its callers to not lie to it about the existing set of dependencies when instantiating a formerly-default ACL. The previous coding accidentally failed to malfunction so long as default ACLs contain only references to the object's owning role, because that role is ignored by updateAclDependencies. However this is obviously pretty fragile, as well as being an undocumented assumption. The new coding is a few lines longer but IMO much clearer.
* Improve phrasing of warning message for NOTIFY queue getting too full.Tom Lane2010-04-05
| | | | Per gripe from Peter.
* \ddp should be recognized as such even if user appends S or + to it.Tom Lane2010-04-03
| | | | | | Those options do nothing right now, but might be wanted later, and in any case it's confusing for the command to be interpreted as \dd if anything is appended. Per Jaime Casanova.
* Make ecpg in line with other compilers in that it deletes its output if ↵Michael Meskes2010-04-03
| | | | | | there was an error processing the input file. Work done by Zoltan.
* Message quoting style tuningPeter Eisentraut2010-04-03
|
* Check compulsory parameters in recovery.conf in standby_mode, per docs.Simon Riggs2010-04-02
|
* Update a number of broken links in comments.Magnus Hagander2010-04-02
| | | | Josh Kupershmidt
* Move system startup message prior to any calls out of data directory.Simon Riggs2010-04-02
| | | | | | | This allows us to see what mode the server is in before it starts to perform actions that can block or hang. Otherwise server messages may not appear until after messages that say FATAL the database server is starting up.
* FATAL errors are meant to stop ecpg immediately, e.g. because the syntax isMichael Meskes2010-04-02
| | | | | corrupted. This error, however, does is not a compilation problem but a runtime one, so we can keep compiling but still have to declare ERROR.
* Don't pass an invalid file handle to dup2(). That causes a crash onHeikki Linnakangas2010-04-01
| | | | | | | | | | | Windows, thanks to a feature in CRT called Parameter Validation. Backpatch to 8.2, which is the oldest version supported on Windows. In 8.2 and 8.3 also backpatch the earlier change to use DEVNULL instead of NULL_DEV #define for a /dev/null-like device. NULL_DEV was hard-coded to "/dev/null" regardless of platform, which didn't work on Windows, while DEVNULL works on all platforms. Restarting syslogger didn't work on Windows on versions 8.3 and below because of that.
* Use a file of patterns of filenames to exclude from pgindent runs, instead ↵Andrew Dunstan2010-04-01
| | | | if using multiple invocations of egrep. Add perl ppport.h to the current list.
* Zoltan beautified his hidden-variable-patch for ecpg. This also makes sure ↵Michael Meskes2010-04-01
| | | | we get an error message instead of a warning if the variable have different types.
* Applied Zoltan's patch to make ecpg spit out warnings if a local variable ↵Michael Meskes2010-04-01
| | | | hides a global one with the same name.
* Refer to max_wal_senders in a more consistent fashion.Robert Haas2010-04-01
| | | | | | | The error message now makes explicit reference to the GUC that must be changed to fix the problem, using wording suggested by Tom Lane. Along the way, rename the GUC from MaxWalSenders to max_wal_senders for consistency and grep-ability.
* Change recovery.conf.sample to match postgresql.conf by showing onlyBruce Momjian2010-03-31
| | | | default values, with example comments.
* Give a more precise error message if a variable is re-used as cursor name in ↵Michael Meskes2010-03-31
| | | | ecpg.
* Fix "constraint_exclusion = partition" logic so that it will also attemptTom Lane2010-03-30
| | | | | | constraint exclusion on an inheritance set that is the target of an UPDATE or DELETE query. Per gripe from Marc Cousin. Back-patch to 8.4 where the feature was introduced.
* Change the retry-loop in standby mode to also try restoring files fromHeikki Linnakangas2010-03-30
| | | | | | | | | | | | | | | | pg_xlog directory. This is essential for replaying WAL records that were streamed from the master, after a standby server restart. If a corrupt record is seen in a file restored from the archive or streamed from the master, log it as a WARNING and keep retrying. If the corruption is permanent, and not just a glitch in the whatever copies the files to the archive or a network error not caught by CRC checks in TCP for example, we will keep retrying and logging the WARNING indefinitely. But that's better than shutting down completely, the standby is still useful for running read-only queries. In PITR the recovery ends at such a corrupt record, which is a bit questionable, but that's the behavior we had in previous releases and we don't feel like chaning it now. It does make sense for tools like pg_standby.
* Message tuningPeter Eisentraut2010-03-30
|
* Properly initialize local varaible inBruce Momjian2010-03-30
| | | | | btree_xlog_delete_get_latestRemovedXid(). This variable was only tested in assert builds.
* Add comma missing from postgresql.conf comment.Bruce Momjian2010-03-30
|
* Edit recovery.conf.sample so it matches docs. Change standby_modeSimon Riggs2010-03-29
| | | | | | example to 'on or 'off' rather than 'true' or 'false', as shown in docs. Add restartpoint_command. Add section header for recovery target parameters, matching docs.
* Rework join-removal logic as per recent discussion. In particular thisTom Lane2010-03-28
| | | | | fixes things so that it works for cases where nested removals are possible. The overhead of the optimization should be significantly less, as well.
* Derive latestRemovedXid for btree deletes by reading heap pages. TheSimon Riggs2010-03-28
| | | | | | | | | | | WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated.
* Flush CopyOutResponse when starting streaming in walsender, so that it'sHeikki Linnakangas2010-03-26
| | | | | | not delayed until the first WAL record is sent. Fujii Masao
* Modify some new and pre-existing messages for translatability.Simon Riggs2010-03-25
|
* Prevent ALTER USER f RESET ALL from removing the settings that were put thereAlvaro Herrera2010-03-25
| | | | | | | | by a superuser -- "ALTER USER f RESET setting" already disallows removing such a setting. Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database owner that's not superuser.
* Additional thoughts on WALSender cpu reduction. Use long typeSimon Riggs2010-03-24
| | | | and alter a comment to reduce confusion.
* Change replication connection log format to allow for a databaseSimon Riggs2010-03-24
| | | | | called replication. Add host and port details, following format of messages in BackendInitialize().