You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-12-19 23:42:18 +02:00
Fix typos.
This commit is contained in:
@@ -70,7 +70,7 @@ docker exec -it doc-pg-standby tail -f /var/log/pgbackrest/demo-restore.log
|
||||
|
||||
Processes can generally be monitored using 'top'. Once `top` is running, press `o` then enter `COMMAND=pgbackrest`. This will filter output to pgbackrest processes.
|
||||
|
||||
- Check for many log entries in the `archive-push`/`archive-get` logs to ensure aync archiving was enabled:
|
||||
- Check for many log entries in the `archive-push`/`archive-get` logs to ensure async archiving was enabled:
|
||||
```
|
||||
docker exec -it doc-pg-primary vi /var/log/pgbackrest/demo-archive-push-async.log
|
||||
docker exec -it doc-pg-standby vi /var/log/pgbackrest/demo-archive-get-async.log
|
||||
@@ -102,11 +102,11 @@ v2.14: Bug Fix and Improvements
|
||||
|
||||
Bug Fixes:
|
||||
|
||||
* Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by Jens Wilke.)
|
||||
* Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by User.)
|
||||
|
||||
Improvements:
|
||||
|
||||
* Bypass database checks when stanza-delete issued with force. (Contributed by Cynthia Shang. Suggested by hatifnatt.)
|
||||
* Bypass database checks when stanza-delete issued with force. (Contributed by User. Suggested by User.)
|
||||
* Add configure script for improved multi-platform support.
|
||||
|
||||
Documentation Features:
|
||||
@@ -128,11 +128,11 @@ v2.14: Bug Fix and Improvements
|
||||
|
||||
**Bug Fixes**:
|
||||
|
||||
- Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by Jens Wilke.)
|
||||
- Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by User.)
|
||||
|
||||
**Improvements**:
|
||||
|
||||
- Bypass database checks when stanza-delete issued with force. (Contributed by Cynthia Shang. Suggested by hatifnatt.)
|
||||
- Bypass database checks when stanza-delete issued with force. (Contributed by User. Suggested by User.)
|
||||
- Add configure script for improved multi-platform support.
|
||||
|
||||
**Documentation Features**:
|
||||
|
||||
@@ -173,7 +173,7 @@ optionGroup:
|
||||
# Options
|
||||
#
|
||||
# Contains the defines for options: which commands the option can/cannot be specified, for which commands it is required, default
|
||||
# settings, types, ranges, whether the option is negatable, whether it has dependencies, etc. The initial section is the global
|
||||
# settings, types, ranges, whether the option may be negated, whether it has dependencies, etc. The initial section is the global
|
||||
# section, meaning that the defines defined there apply to all commands listed for the option.
|
||||
#
|
||||
# inherit:
|
||||
@@ -223,7 +223,7 @@ optionGroup:
|
||||
# If the default is a string output it as-is without quoting. This allows C defines to be used as defaults.
|
||||
#
|
||||
# negate:
|
||||
# All config file boolean options are automatically negatable. This setting is used to maintain backward compatibility with older
|
||||
# All config file boolean options automatically may be negated. This setting is used to maintain backward compatibility with older
|
||||
# options and should not be used for new options. For instance --online would be named --offline if it were created now to avoid
|
||||
# the need for negation. --no-config is another special case that would now be implemented with a separate boolean option,
|
||||
# e.g. --config-ignore.
|
||||
|
||||
@@ -531,7 +531,7 @@ bldCfgParseOptionDeprecate(Yaml *const yaml)
|
||||
indexed = true;
|
||||
}
|
||||
|
||||
// Create final deprecation if it does not aready exist
|
||||
// Create final deprecation if it does not already exist
|
||||
BldCfgOptionDeprecateRaw *deprecate = lstFind(result, &name);
|
||||
|
||||
if (deprecate == NULL)
|
||||
@@ -1019,7 +1019,7 @@ bldCfgParseOptionResolveList(const List *const optList)
|
||||
List *const result = lstNewP(sizeof(BldCfgOption *), .comparator = lstComparatorStr);
|
||||
|
||||
// The stanza option will always be resolved first since errors can be confusing when it is missing. That means it must exist
|
||||
// and cannot have any depedencies.
|
||||
// and cannot have any dependencies.
|
||||
// -----------------------------------------------------------------------------------------------------------------------------
|
||||
const BldCfgOption *const optStanza = lstFind(optList, &OPT_STANZA_STR);
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ void archiveAsyncStatusOkWrite(ArchiveMode archiveMode, const String *walSegment
|
||||
// Write an error status file
|
||||
void archiveAsyncStatusErrorWrite(ArchiveMode archiveMode, const String *walSegment, int code, const String *message);
|
||||
|
||||
// Execute the async process. This function will only return in the calling process and the implementation is platform depedent.
|
||||
// Execute the async process. This function will only return in the calling process and the implementation is platform dependent.
|
||||
void archiveAsyncExec(ArchiveMode archiveMode, const StringList *commandExec);
|
||||
|
||||
// Comparator function for sorting archive ids by the database history id (the number after the dash) e.g. 9.4-1, 10-2
|
||||
|
||||
@@ -168,7 +168,7 @@ archivePushFile(
|
||||
{
|
||||
const ArchivePushFileRepoData *const repoData = lstGet(repoList, repoListIdx);
|
||||
|
||||
// Check if the WAL segement already exists in the repo
|
||||
// Check if the WAL segment already exists in the repo
|
||||
const String *walSegmentFile = NULL;
|
||||
|
||||
TRY_BEGIN()
|
||||
|
||||
@@ -239,7 +239,7 @@ backupInit(const InfoBackup *infoBackup)
|
||||
cfgOptionSet(cfgOptStartFast, cfgSourceParam, BOOL_FALSE_VAR);
|
||||
}
|
||||
|
||||
// If checksum page is not explicity set then automatically enable it when checksums are available
|
||||
// If checksum page is not explicitly set then automatically enable it when checksums are available
|
||||
if (!cfgOptionTest(cfgOptChecksumPage))
|
||||
{
|
||||
// If online then use the value in pg_control to set checksum-page
|
||||
@@ -1604,7 +1604,7 @@ backupProcess(BackupData *backupData, Manifest *manifest, const String *lsnStart
|
||||
bool backupStandby = cfgOptionBool(cfgOptBackupStandby);
|
||||
|
||||
// If this is a full backup or hard-linked and paths are supported then create all paths explicitly so that empty paths will
|
||||
// exist in to repo. Also create tablspace symlinks when symlinks are available, This makes it possible for the user to
|
||||
// exist in to repo. Also create tablespace symlinks when symlinks are available. This makes it possible for the user to
|
||||
// make a copy of the backup path and get a valid cluster.
|
||||
if (backupType == backupTypeFull || hardLink)
|
||||
{
|
||||
|
||||
@@ -136,7 +136,7 @@ expireAdhocBackup(InfoBackup *infoBackup, const String *backupLabel, unsigned in
|
||||
if (infoBackupDataByLabel(infoBackup, latestBackup) == NULL)
|
||||
{
|
||||
// If retention settings have been configured, then there may be holes in the archives. For example, if the archive
|
||||
// for db-id=1 has 01,02,03,04,05 and F1 backup has archive start-stop 02-03 and rentention-full=1
|
||||
// for db-id=1 has 01,02,03,04,05 and F1 backup has archive start-stop 02-03 and retention-full=1
|
||||
// (hence retention-archive=1 and retention-archive-type=full), then when F2 backup is created and assuming its
|
||||
// archive start-stop=05-06 then archives 01 and 04 will be removed resulting in F1 not being able to play through
|
||||
// PITR, which is expected. Now adhoc expire is attempted on F2 - it will be allowed but now there will be no
|
||||
@@ -426,7 +426,7 @@ removeExpiredArchive(InfoBackup *infoBackup, bool timeBasedFullRetention, unsign
|
||||
break;
|
||||
}
|
||||
|
||||
// Expire archives. If no backups were found or the number of backups found is not enough to satify archive retention
|
||||
// Expire archives. If no backups were found or the number of backups found is not enough to satisfy archive retention
|
||||
// then preserve current archive logs - too soon to expire them.
|
||||
if (!strLstEmpty(globalBackupRetentionList) && archiveRetention <= strLstSize(globalBackupRetentionList))
|
||||
{
|
||||
|
||||
@@ -1752,8 +1752,8 @@ restoreRecoveryWriteAutoConf(unsigned int pgVersion, const String *restoreLabel)
|
||||
}
|
||||
// Else the file does exist so comment out old recovery options that could interfere with the current recovery. Don't
|
||||
// comment out *all* recovery options because some should only be commented out if there is a new option to replace it, e.g.
|
||||
// primary_conninfo. If the option shouldn't be commented out all the time then it won't ever be commnented out -- this
|
||||
// may not be ideal but it is what was decided. PostgreSQL will use the last value set so this is safe as long as the option
|
||||
// primary_conninfo. If the option shouldn't be commented out all the time then it won't ever be commented out -- this may
|
||||
// not be ideal but it is what was decided. PostgreSQL will use the last value set so this is safe as long as the option
|
||||
// does not have dependencies on other options.
|
||||
else
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ typedef struct IoClientInterface
|
||||
// Type used to identify the client
|
||||
StringId type;
|
||||
|
||||
// Client name, usually host:port or some other unique indentifier
|
||||
// Client name, usually host:port or some other unique identifier
|
||||
const String *(*name)(void *driver);
|
||||
|
||||
// Open a session
|
||||
|
||||
@@ -76,7 +76,7 @@ httpClientOpen(HttpClient *this)
|
||||
|
||||
HttpSession *result = NULL;
|
||||
|
||||
// Check if there is a resuable session
|
||||
// Check if there is a reusable session
|
||||
if (!lstEmpty(this->sessionReuseList))
|
||||
{
|
||||
// Remove session from reusable list
|
||||
|
||||
@@ -16,7 +16,7 @@ typedef struct IoServerInterface
|
||||
// Type used to identify the server
|
||||
StringId type;
|
||||
|
||||
// Server name, usually address:port or some other unique indentifier
|
||||
// Server name, usually address:port or some other unique identifier
|
||||
const String *(*name)(void *driver);
|
||||
|
||||
// Accept a session
|
||||
|
||||
@@ -23,7 +23,7 @@ static struct SocketLocal
|
||||
|
||||
bool block; // Use blocking mode socket
|
||||
|
||||
bool keepAlive; // Are socket keep alives enabled?
|
||||
bool keepAlive; // Is socket keep-alive enabled?
|
||||
int tcpKeepAliveCount; // TCP keep alive count (0 disables)
|
||||
int tcpKeepAliveIdle; // TCP keep alive idle (0 disables)
|
||||
int tcpKeepAliveInterval; // TCP keep alive interval (0 disables)
|
||||
|
||||
@@ -15,7 +15,7 @@ Functions
|
||||
// Initialize settings for socket connections (some are used only for TCP)
|
||||
void sckInit(bool block, bool keepAlive, int tcpKeepAliveCount, int tcpKeepAliveIdle, int tcpKeepAliveInterval);
|
||||
|
||||
// Get address info for a host/address. The caller is reponsible for freeing addrinfo.
|
||||
// Get address info for a host/address. The caller is responsible for freeing addrinfo.
|
||||
struct addrinfo *sckHostLookup(const String *const host, unsigned int port);
|
||||
|
||||
// Set options on a socket
|
||||
|
||||
@@ -181,7 +181,7 @@ By convention all buffer constant identifiers are appended with _BUF.
|
||||
#define BUFSTRDEF(stringdef) \
|
||||
BUF((unsigned char *)stringdef, (sizeof(stringdef) - 1))
|
||||
|
||||
// Used to declare buffer constants that will be externed using BUFFER_DECLARE(). Must be used in a .c file.
|
||||
// Used to declare buffer constants that will be extern'd using BUFFER_DECLARE(). Must be used in a .c file.
|
||||
#define BUFFER_STRDEF_EXTERN(name, string) \
|
||||
const Buffer *const name = BUFSTRDEF(string)
|
||||
|
||||
|
||||
@@ -414,7 +414,7 @@ pckReadNewC(const unsigned char *const buffer, size_t size)
|
||||
/***********************************************************************************************************************************
|
||||
Read bytes from the buffer
|
||||
|
||||
IMPORTANT NOTE: To avoid having dyamically created return buffers the current buffer position (this->bufferPos) is stored in the
|
||||
IMPORTANT NOTE: To avoid having dynamically created return buffers the current buffer position (this->bufferPos) is stored in the
|
||||
object. Therefore this function should not be used as a parameter in other function calls since the value of this->bufferPos will
|
||||
change.
|
||||
***********************************************************************************************************************************/
|
||||
@@ -1419,7 +1419,7 @@ pckWriteU64Internal(PackWrite *this, uint64_t value)
|
||||
unsigned char buffer[PACK_UINT64_SIZE_MAX];
|
||||
size_t size = 0;
|
||||
|
||||
// Convert uint64 to varint-128 encloding. Keep writing out bytes while the remaining value is greater than 7 bits.
|
||||
// Convert uint64 to varint-128 encoding. Keep writing out bytes while the remaining value is greater than 7 bits.
|
||||
while (value >= 0x80)
|
||||
{
|
||||
// Encode the lower order 7 bits, adding the continuation bit to indicate there is more data
|
||||
|
||||
@@ -200,7 +200,7 @@ size_t pckReadSize(PackRead *this);
|
||||
// Current field type. Set after a call to pckReadNext().
|
||||
PackType pckReadType(PackRead *this);
|
||||
|
||||
// Is the field NULL? If the field is NULL the id will be advanced so the field does not need to be read explictly. If the field is
|
||||
// Is the field NULL? If the field is NULL the id will be advanced so the field does not need to be read explicitly. If the field is
|
||||
// not NULL then the id is not advanced since a subsequent read is expected.
|
||||
#define pckReadNullP(this, ...) \
|
||||
pckReadNull(this, (PackIdParam){VAR_PARAM_INIT, __VA_ARGS__})
|
||||
|
||||
@@ -70,7 +70,7 @@ against each other so the str parameter is included only for documentation purpo
|
||||
Functions
|
||||
***********************************************************************************************************************************/
|
||||
// Convert N chars to StringId, If the string is longer than the allowable length for the selected encoding then the StringID will
|
||||
// be marked as "partial" and will have a '+' appended whenever it is converted back to a string. This is to distiguish it from a
|
||||
// be marked as "partial" and will have a '+' appended whenever it is converted back to a string. This is to distinguish it from a
|
||||
// string with the same number of encoded characters that did not overflow.
|
||||
StringId strIdFromZN(const StringIdBit bit, const char *const buffer, const size_t size);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Variant Data Type
|
||||
/***********************************************************************************************************************************
|
||||
Constant variants that are generally useful
|
||||
***********************************************************************************************************************************/
|
||||
// Used to declare Bool Variant constants that will be externed using VARIANT_DECLARE(). Must be used in a .c file.
|
||||
// Used to declare Bool Variant constants that will be extern'd using VARIANT_DECLARE(). Must be used in a .c file.
|
||||
#define VARIANT_BOOL_EXTERN(name, dataParam) \
|
||||
const Variant *const name = ((const Variant *)&(const VariantBoolPub){.type = varTypeBool, .data = dataParam})
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ By convention all variant constant identifiers are appended with _VAR.
|
||||
#define VARSTR(dataParam) \
|
||||
((const Variant *)&(const VariantStringPub){.type = varTypeString, .data = (String *)(dataParam)})
|
||||
|
||||
// Used to declare String Variant constants that will be externed using VARIANT_DECLARE(). Must be used in a .c file.
|
||||
// Used to declare String Variant constants that will be extern'd using VARIANT_DECLARE(). Must be used in a .c file.
|
||||
#define VARIANT_STRDEF_EXTERN(name, dataParam) \
|
||||
const Variant *const name = VARSTRDEF(dataParam)
|
||||
|
||||
|
||||
@@ -2027,7 +2027,7 @@ configParse(const Storage *storage, unsigned int argListSize, const char *argLis
|
||||
unsigned int optionIdxMax = 0;
|
||||
unsigned int optionKeyIdx = 0;
|
||||
|
||||
// ??? For the pg group, key 1 is required to maintain compatibilty with older versions. Before removing this
|
||||
// ??? For the pg group, key 1 is required to maintain compatibility with older versions. Before removing this
|
||||
// constraint the pg group remap to key 1 for remotes will need to be dealt with in the protocol/helper module.
|
||||
if (groupId == cfgOptGrpPg)
|
||||
{
|
||||
|
||||
@@ -76,7 +76,7 @@ typedef struct DbBackupStartResult
|
||||
|
||||
DbBackupStartResult dbBackupStart(Db *this, bool startFast, bool stopAuto);
|
||||
|
||||
// Stop backup and return starting lsn, wal segment name, backup label, and tablspace map
|
||||
// Stop backup and return starting lsn, wal segment name, backup label, and tablespace map
|
||||
typedef struct DbBackupStopResult
|
||||
{
|
||||
String *lsn;
|
||||
|
||||
@@ -384,7 +384,7 @@ manifestNewInternal(void)
|
||||
/***********************************************************************************************************************************
|
||||
Ensure that symlinks do not point to the same file, directory, or subdirectory of another link
|
||||
|
||||
There are two implementations: manifestLinkCheck(), which is externed, and manifestLinkCheckOne(), which is intended to be
|
||||
There are two implementations: manifestLinkCheck(), which is extern'd, and manifestLinkCheckOne(), which is intended to be
|
||||
used internally during processing. manifestLinkCheck() works simply by calling manifestLinkCheckOne() for every link in the target
|
||||
list. manifestLinkCheckOne() is optimized to work quickly on a single link.
|
||||
***********************************************************************************************************************************/
|
||||
@@ -638,7 +638,7 @@ manifestBuildCallback(void *data, const StorageInfo *info)
|
||||
ManifestBuildData buildData = *(ManifestBuildData *)data;
|
||||
unsigned int pgVersion = buildData.manifest->pub.data.pgVersion;
|
||||
|
||||
// Contruct the name used to identify this file/link/path in the manifest
|
||||
// Construct the name used to identify this file/link/path in the manifest
|
||||
const String *manifestName = strNewFmt("%s/%s", strZ(buildData.manifestParentName), strZ(info->name));
|
||||
|
||||
// Skip excluded files/links/paths
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/***********************************************************************************************************************************
|
||||
PostreSQL Version Constants
|
||||
PostgreSQL Version Constants
|
||||
***********************************************************************************************************************************/
|
||||
#ifndef POSTGRES_VERSION_H
|
||||
#define POSTGRES_VERSION_H
|
||||
|
||||
@@ -244,7 +244,7 @@ protocolServerProcess(
|
||||
retryRemaining--;
|
||||
retry = true;
|
||||
|
||||
// Send keep alives to remotes. A retry means the command is taking longer than usual so make
|
||||
// Send keep-alive to remotes. A retry means the command is taking longer than usual so make
|
||||
// sure the remote does not timeout.
|
||||
protocolKeepAlive();
|
||||
}
|
||||
@@ -277,7 +277,7 @@ protocolServerProcess(
|
||||
}
|
||||
}
|
||||
|
||||
// Send keep alives to remotes. When a local process is doing work that does not involve the remote it is important
|
||||
// Send keep-alive to remotes. When a local process is doing work that does not involve the remote it is important
|
||||
// that the remote does not timeout. This will send a keep alive once per unit of work that is performed by the
|
||||
// local process.
|
||||
protocolKeepAlive();
|
||||
|
||||
@@ -29,7 +29,7 @@ Storage path constants
|
||||
/***********************************************************************************************************************************
|
||||
Functions
|
||||
***********************************************************************************************************************************/
|
||||
// Initialize dry-run for the current command. No writes are allowed until dry-run has been intitialized and no writes are allowed
|
||||
// Initialize dry-run for the current command. No writes are allowed until dry-run has been initialized and no writes are allowed
|
||||
// after initialization if dry-run is true. Note that storageLocalWrite() is exempt from this rule. The primary purpose is to
|
||||
// prevent damage to the repository from an error in dry-run coding in the individual commands.
|
||||
void storageHelperDryRunInit(bool dryRun);
|
||||
|
||||
@@ -578,7 +578,7 @@ storagePosixNewInternal(
|
||||
ASSERT(modeFile != 0);
|
||||
ASSERT(modePath != 0);
|
||||
|
||||
// Initialze user module
|
||||
// Initialize user module
|
||||
userInit();
|
||||
|
||||
// Create the object
|
||||
|
||||
@@ -395,7 +395,7 @@ storageS3RequestAsync(StorageS3 *this, const String *verb, const String *path, S
|
||||
if (this->uriStyle == storageS3UriStylePath)
|
||||
path = strNewFmt("/%s%s", strZ(this->bucket), strZ(path));
|
||||
|
||||
// If temp crendentials will be expiring soon then renew them
|
||||
// If temp credentials will be expiring soon then renew them
|
||||
if (this->credExpirationTime != 0 && (this->credExpirationTime - time(NULL)) < S3_CREDENTIAL_RENEW_SEC)
|
||||
{
|
||||
// Free old credentials
|
||||
|
||||
@@ -84,7 +84,7 @@ hrnCfgLoad(ConfigCommand commandId, const StringList *argListParam, const HrnCfg
|
||||
// Apply special option rules
|
||||
cfgLoadUpdateOption();
|
||||
|
||||
// Set buffer size when it is specified explicity -- otherwise the module default will be used. Note that this is *not* the
|
||||
// Set buffer size when it is specified explicitly -- otherwise the module default will be used. Note that this is *not* the
|
||||
// configuration default, which is much larger.
|
||||
if (cfgOptionTest(cfgOptBufferSize))
|
||||
ioBufferSizeSet(cfgOptionUInt(cfgOptBufferSize));
|
||||
|
||||
@@ -54,7 +54,7 @@ void hrnCfgLoad(ConfigCommand commandId, const StringList *argList, const HrnCfg
|
||||
Configuration helper functions
|
||||
|
||||
These functions set options in the argument list using the option IDs rather than string constants. Each function has a "Key"
|
||||
variant that works with indexed options and allows the key to be specified, e.g. hrnCfgArgKeyRawZ(cfgOptPgpath, 3, "/pg") will add
|
||||
variant that works with indexed options and allows the key to be specified, e.g. hrnCfgArgKeyRawZ(cfgOptPgPath, 3, "/pg") will add
|
||||
--pg3-path=/pg to the argument list.
|
||||
***********************************************************************************************************************************/
|
||||
void hrnCfgArgRaw(StringList *argList, ConfigOption optionId, const String *value);
|
||||
|
||||
@@ -70,15 +70,15 @@ void hrnServerScriptAccept(IoWrite *write);
|
||||
// Close the connection
|
||||
void hrnServerScriptClose(IoWrite *write);
|
||||
|
||||
// Expect the specfified string
|
||||
// Expect the specified string
|
||||
void hrnServerScriptExpect(IoWrite *write, const String *data);
|
||||
void hrnServerScriptExpectZ(IoWrite *write, const char *data);
|
||||
|
||||
// Reply with the specfified string
|
||||
// Reply with the specified string
|
||||
void hrnServerScriptReply(IoWrite *write, const String *data);
|
||||
void hrnServerScriptReplyZ(IoWrite *write, const char *data);
|
||||
|
||||
// Sleep specfified milliseconds
|
||||
// Sleep specified milliseconds
|
||||
void hrnServerScriptSleep(IoWrite *write, TimeMSec sleepMs);
|
||||
|
||||
/***********************************************************************************************************************************
|
||||
|
||||
Reference in New Issue
Block a user