2010-02-26 02:55:35 +01:00
|
|
|
ABITVEC
|
|
|
|
ACCESS_ALLOWED_ACE
|
|
|
|
ACL_SIZE_INFORMATION
|
|
|
|
AFFIX
|
|
|
|
ASN1_INTEGER
|
2016-05-02 15:23:55 +02:00
|
|
|
ASN1_OBJECT
|
2010-02-26 02:55:35 +01:00
|
|
|
ASN1_STRING
|
|
|
|
AV
|
|
|
|
A_ArrayExpr
|
|
|
|
A_Const
|
|
|
|
A_Expr
|
|
|
|
A_Expr_Kind
|
|
|
|
A_Indices
|
|
|
|
A_Indirection
|
|
|
|
A_Star
|
|
|
|
AbsoluteTime
|
2016-04-27 17:47:28 +02:00
|
|
|
AccessMethodInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
AccessPriv
|
|
|
|
Acl
|
|
|
|
AclItem
|
|
|
|
AclMaskHow
|
|
|
|
AclMode
|
|
|
|
AclObjectKind
|
|
|
|
AclResult
|
2012-06-10 21:15:31 +02:00
|
|
|
AcquireSampleRowsFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
ActiveSnapshotElt
|
2013-05-29 22:58:43 +02:00
|
|
|
AddForeignUpdateTargets_function
|
2010-02-26 02:55:35 +01:00
|
|
|
AffixNode
|
|
|
|
AffixNodeData
|
|
|
|
AfterTriggerEvent
|
|
|
|
AfterTriggerEventChunk
|
|
|
|
AfterTriggerEventData
|
|
|
|
AfterTriggerEventList
|
|
|
|
AfterTriggerShared
|
|
|
|
AfterTriggerSharedData
|
|
|
|
AfterTriggersData
|
|
|
|
Agg
|
2011-06-09 20:01:49 +02:00
|
|
|
AggClauseCosts
|
2010-02-26 02:55:35 +01:00
|
|
|
AggInfo
|
2016-04-27 17:47:28 +02:00
|
|
|
AggPath
|
2016-08-15 19:42:51 +02:00
|
|
|
AggSplit
|
2010-02-26 02:55:35 +01:00
|
|
|
AggState
|
|
|
|
AggStatePerAgg
|
|
|
|
AggStatePerGroup
|
2015-05-24 03:20:37 +02:00
|
|
|
AggStatePerPhase
|
2016-05-02 15:23:55 +02:00
|
|
|
AggStatePerTrans
|
2010-02-26 02:55:35 +01:00
|
|
|
AggStrategy
|
|
|
|
Aggref
|
|
|
|
AggrefExprState
|
2013-05-29 22:58:43 +02:00
|
|
|
AlenState
|
2010-02-26 02:55:35 +01:00
|
|
|
Alias
|
|
|
|
AllocBlock
|
|
|
|
AllocChunk
|
|
|
|
AllocPointer
|
|
|
|
AllocSet
|
|
|
|
AllocSetContext
|
|
|
|
AllocateDesc
|
|
|
|
AllocateDescKind
|
|
|
|
AlterDatabaseSetStmt
|
|
|
|
AlterDatabaseStmt
|
|
|
|
AlterDefaultPrivilegesStmt
|
|
|
|
AlterDomainStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
AlterEnumStmt
|
2013-05-29 22:58:43 +02:00
|
|
|
AlterEventTrigStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
AlterExtensionContentsStmt
|
|
|
|
AlterExtensionStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterFdwStmt
|
|
|
|
AlterForeignServerStmt
|
|
|
|
AlterFunctionStmt
|
2016-04-05 23:38:54 +02:00
|
|
|
AlterObjectDependsStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterObjectSchemaStmt
|
|
|
|
AlterOpFamilyStmt
|
2016-04-27 17:47:28 +02:00
|
|
|
AlterOperatorStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterOwnerStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
AlterPolicyStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterRoleSetStmt
|
|
|
|
AlterRoleStmt
|
|
|
|
AlterSeqStmt
|
2014-05-06 15:08:14 +02:00
|
|
|
AlterSystemStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
AlterTSConfigType
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterTSConfigurationStmt
|
|
|
|
AlterTSDictionaryStmt
|
|
|
|
AlterTableCmd
|
2014-08-22 01:06:17 +02:00
|
|
|
AlterTableMoveAllStmt
|
2014-05-06 15:08:14 +02:00
|
|
|
AlterTableSpaceOptionsStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
AlterTableStmt
|
|
|
|
AlterTableType
|
|
|
|
AlterUserMappingStmt
|
|
|
|
AlteredTableInfo
|
|
|
|
AlternativeSubPlan
|
|
|
|
AlternativeSubPlanState
|
2012-06-10 21:15:31 +02:00
|
|
|
AnalyzeAttrComputeStatsFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
AnalyzeAttrFetchFunc
|
2012-06-10 21:15:31 +02:00
|
|
|
AnalyzeForeignTable_function
|
2010-02-26 02:55:35 +01:00
|
|
|
AnlIndexData
|
2015-05-24 03:20:37 +02:00
|
|
|
AnyArrayType
|
2010-02-26 02:55:35 +01:00
|
|
|
Append
|
|
|
|
AppendPath
|
|
|
|
AppendRelInfo
|
|
|
|
AppendState
|
|
|
|
Archive
|
|
|
|
ArchiveEntryPtr
|
|
|
|
ArchiveFormat
|
|
|
|
ArchiveHandle
|
|
|
|
ArchiveMode
|
2012-06-10 21:15:31 +02:00
|
|
|
ArchiverOutput
|
2010-02-26 02:55:35 +01:00
|
|
|
ArchiverStage
|
2012-06-10 21:15:31 +02:00
|
|
|
ArrayAnalyzeExtraData
|
2010-02-26 02:55:35 +01:00
|
|
|
ArrayBuildState
|
2015-05-24 03:20:37 +02:00
|
|
|
ArrayBuildStateAny
|
|
|
|
ArrayBuildStateArr
|
2010-02-26 02:55:35 +01:00
|
|
|
ArrayCoerceExpr
|
|
|
|
ArrayCoerceExprState
|
|
|
|
ArrayConstIterState
|
|
|
|
ArrayExpr
|
|
|
|
ArrayExprIterState
|
|
|
|
ArrayExprState
|
2011-04-09 05:11:37 +02:00
|
|
|
ArrayIterator
|
2010-02-26 02:55:35 +01:00
|
|
|
ArrayMapState
|
|
|
|
ArrayMetaState
|
|
|
|
ArrayParseState
|
|
|
|
ArrayRef
|
|
|
|
ArrayRefExprState
|
2016-08-15 19:42:51 +02:00
|
|
|
ArrayRemapInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
ArrayType
|
|
|
|
AsyncQueueControl
|
|
|
|
AsyncQueueEntry
|
|
|
|
AttInMetadata
|
|
|
|
AttoptCacheEntry
|
|
|
|
AttoptCacheKey
|
|
|
|
AttrDefInfo
|
|
|
|
AttrDefault
|
|
|
|
AttrNumber
|
|
|
|
AttributeOpts
|
|
|
|
AuthRequest
|
|
|
|
AutoVacOpts
|
|
|
|
AutoVacuumShmemStruct
|
|
|
|
AuxProcType
|
|
|
|
BF_ctx
|
|
|
|
BF_key
|
|
|
|
BF_word
|
2011-11-14 18:12:23 +01:00
|
|
|
BF_word_signed
|
2010-02-26 02:55:35 +01:00
|
|
|
BIGNUM
|
|
|
|
BIO
|
|
|
|
BIO_METHOD
|
|
|
|
BITVEC
|
|
|
|
BITVECP
|
2012-06-10 21:15:31 +02:00
|
|
|
BMS_Comparison
|
2010-02-26 02:55:35 +01:00
|
|
|
BMS_Membership
|
|
|
|
BN_CTX
|
|
|
|
BOOL
|
|
|
|
BOOLEAN
|
|
|
|
BOX
|
2011-11-14 18:12:23 +01:00
|
|
|
BTArrayKeyInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
BTBuildState
|
|
|
|
BTCycleId
|
|
|
|
BTIndexStat
|
|
|
|
BTMetaPageData
|
|
|
|
BTOneVacInfo
|
|
|
|
BTPageOpaque
|
|
|
|
BTPageOpaqueData
|
|
|
|
BTPageStat
|
|
|
|
BTPageState
|
2017-02-15 13:41:14 +01:00
|
|
|
BTParallelScanDesc
|
|
|
|
BTParallelScanDescData
|
|
|
|
BTPS_State
|
2010-02-26 02:55:35 +01:00
|
|
|
BTScanOpaque
|
|
|
|
BTScanOpaqueData
|
2015-05-24 03:20:37 +02:00
|
|
|
BTScanPos
|
2010-02-26 02:55:35 +01:00
|
|
|
BTScanPosData
|
|
|
|
BTScanPosItem
|
2011-11-14 18:12:23 +01:00
|
|
|
BTSortArrayContext
|
2010-02-26 02:55:35 +01:00
|
|
|
BTSpool
|
|
|
|
BTStack
|
|
|
|
BTStackData
|
|
|
|
BTVacInfo
|
|
|
|
BTVacState
|
|
|
|
BTWriteState
|
|
|
|
BYTE
|
|
|
|
Backend
|
|
|
|
BackendId
|
2011-04-09 05:11:37 +02:00
|
|
|
BackendParameters
|
2012-06-10 21:15:31 +02:00
|
|
|
BackendState
|
2013-05-29 22:58:43 +02:00
|
|
|
BackgroundWorker
|
2014-05-06 15:08:14 +02:00
|
|
|
BackgroundWorkerArray
|
|
|
|
BackgroundWorkerHandle
|
|
|
|
BackgroundWorkerSlot
|
2011-04-09 05:11:37 +02:00
|
|
|
BaseBackupCmd
|
2016-05-02 15:23:55 +02:00
|
|
|
BeginDirectModify_function
|
2013-05-29 22:58:43 +02:00
|
|
|
BeginForeignModify_function
|
2011-04-09 05:11:37 +02:00
|
|
|
BeginForeignScan_function
|
2016-05-02 15:23:55 +02:00
|
|
|
BeginSampleScan_function
|
2015-05-24 03:20:37 +02:00
|
|
|
BernoulliSamplerData
|
2013-05-29 22:58:43 +02:00
|
|
|
BgWorkerStartTime
|
2014-05-06 15:08:14 +02:00
|
|
|
BgwHandleStatus
|
2015-05-24 03:20:37 +02:00
|
|
|
BipartiteMatchState
|
2010-02-26 02:55:35 +01:00
|
|
|
BitmapAnd
|
|
|
|
BitmapAndPath
|
|
|
|
BitmapAndState
|
|
|
|
BitmapHeapPath
|
|
|
|
BitmapHeapScan
|
|
|
|
BitmapHeapScanState
|
|
|
|
BitmapIndexScan
|
|
|
|
BitmapIndexScanState
|
|
|
|
BitmapOr
|
|
|
|
BitmapOrPath
|
|
|
|
BitmapOrState
|
|
|
|
Bitmapset
|
|
|
|
BlobInfo
|
|
|
|
Block
|
|
|
|
BlockId
|
|
|
|
BlockIdData
|
|
|
|
BlockNumber
|
|
|
|
BlockSampler
|
|
|
|
BlockSamplerData
|
2016-04-27 17:47:28 +02:00
|
|
|
BlockedProcData
|
|
|
|
BlockedProcsData
|
|
|
|
BloomBuildState
|
2016-05-02 15:23:55 +02:00
|
|
|
BloomMetaPageData
|
2016-04-27 17:47:28 +02:00
|
|
|
BloomOptions
|
2016-05-02 15:23:55 +02:00
|
|
|
BloomPageOpaque
|
|
|
|
BloomPageOpaqueData
|
|
|
|
BloomScanOpaque
|
|
|
|
BloomScanOpaqueData
|
2016-06-09 18:15:33 +02:00
|
|
|
BloomSignatureWord
|
2016-04-27 17:47:28 +02:00
|
|
|
BloomState
|
|
|
|
BloomTuple
|
2010-02-26 02:55:35 +01:00
|
|
|
BlowfishContext
|
2014-05-06 15:08:14 +02:00
|
|
|
BoolAggState
|
2010-02-26 02:55:35 +01:00
|
|
|
BoolExpr
|
|
|
|
BoolExprState
|
|
|
|
BoolExprType
|
|
|
|
BoolTestType
|
|
|
|
BooleanTest
|
|
|
|
BpChar
|
2015-05-24 03:20:37 +02:00
|
|
|
BrinBuildState
|
|
|
|
BrinDesc
|
|
|
|
BrinMemTuple
|
|
|
|
BrinMetaPageData
|
|
|
|
BrinOpaque
|
|
|
|
BrinOpcInfo
|
|
|
|
BrinOptions
|
|
|
|
BrinRevmap
|
|
|
|
BrinSpecialSpace
|
|
|
|
BrinTuple
|
|
|
|
BrinValues
|
2010-02-26 02:55:35 +01:00
|
|
|
Bucket
|
|
|
|
BufFile
|
|
|
|
Buffer
|
|
|
|
BufferAccessStrategy
|
|
|
|
BufferAccessStrategyType
|
|
|
|
BufferCachePagesContext
|
|
|
|
BufferCachePagesRec
|
|
|
|
BufferDesc
|
2015-05-24 03:20:37 +02:00
|
|
|
BufferDescPadded
|
2010-02-26 02:55:35 +01:00
|
|
|
BufferLookupEnt
|
|
|
|
BufferStrategyControl
|
|
|
|
BufferTag
|
|
|
|
BufferUsage
|
|
|
|
BuildAccumulator
|
2016-04-27 17:47:28 +02:00
|
|
|
BuiltinScript
|
2010-02-26 02:55:35 +01:00
|
|
|
BulkInsertState
|
|
|
|
CACHESIGN
|
|
|
|
CAC_state
|
2015-05-24 03:20:37 +02:00
|
|
|
CEOUC_WAIT_MODE
|
2010-02-26 02:55:35 +01:00
|
|
|
CFuncHashTabEntry
|
|
|
|
CHAR
|
2011-04-09 05:11:37 +02:00
|
|
|
CHECKPOINT
|
2010-02-26 02:55:35 +01:00
|
|
|
CHKVAL
|
|
|
|
CIRCLE
|
|
|
|
CMPDAffix
|
|
|
|
CONTEXT
|
|
|
|
COP
|
|
|
|
CRITICAL_SECTION
|
|
|
|
CState
|
|
|
|
CV
|
2011-04-09 05:11:37 +02:00
|
|
|
C_block
|
2010-02-26 02:55:35 +01:00
|
|
|
CachedPlan
|
|
|
|
CachedPlanSource
|
|
|
|
CancelRequestPacket
|
|
|
|
CaseExpr
|
|
|
|
CaseExprState
|
|
|
|
CaseTestExpr
|
|
|
|
CaseWhen
|
|
|
|
CaseWhenState
|
|
|
|
Cash
|
|
|
|
CastInfo
|
|
|
|
CatCList
|
|
|
|
CatCTup
|
|
|
|
CatCache
|
|
|
|
CatCacheHeader
|
|
|
|
CatalogId
|
|
|
|
CatalogIndexState
|
|
|
|
ChangeVarNodes_context
|
|
|
|
CheckPoint
|
|
|
|
CheckPointStmt
|
|
|
|
CheckpointStatsData
|
2012-06-10 21:15:31 +02:00
|
|
|
CheckpointerRequest
|
|
|
|
CheckpointerShmemStruct
|
2010-02-26 02:55:35 +01:00
|
|
|
Chromosome
|
|
|
|
City
|
2016-02-19 21:17:51 +01:00
|
|
|
CkptSortItem
|
|
|
|
CkptTsStatus
|
2011-04-09 05:11:37 +02:00
|
|
|
ClientAuthentication_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
ClientData
|
|
|
|
ClonePtr
|
|
|
|
ClosePortalStmt
|
|
|
|
ClosePtr
|
|
|
|
Clump
|
2010-07-06 21:18:19 +02:00
|
|
|
ClusterInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
ClusterStmt
|
|
|
|
CmdType
|
|
|
|
CoalesceExpr
|
|
|
|
CoalesceExprState
|
|
|
|
CoerceParamHook
|
|
|
|
CoerceToDomain
|
|
|
|
CoerceToDomainState
|
|
|
|
CoerceToDomainValue
|
|
|
|
CoerceViaIO
|
|
|
|
CoerceViaIOState
|
|
|
|
CoercionContext
|
|
|
|
CoercionForm
|
|
|
|
CoercionPathType
|
2011-04-09 05:11:37 +02:00
|
|
|
CollInfo
|
|
|
|
CollateClause
|
|
|
|
CollateExpr
|
|
|
|
CollateStrength
|
2015-05-24 03:20:37 +02:00
|
|
|
CollectedATSubcmd
|
|
|
|
CollectedCommand
|
|
|
|
CollectedCommandType
|
2013-05-29 22:58:43 +02:00
|
|
|
ColorTrgm
|
|
|
|
ColorTrgmInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
ColumnCompareData
|
|
|
|
ColumnDef
|
|
|
|
ColumnIOData
|
|
|
|
ColumnRef
|
|
|
|
ComboCidEntry
|
|
|
|
ComboCidEntryData
|
|
|
|
ComboCidKey
|
|
|
|
ComboCidKeyData
|
|
|
|
Command
|
|
|
|
CommandDest
|
|
|
|
CommandId
|
|
|
|
CommentItem
|
|
|
|
CommentStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
CommitTimestampEntry
|
|
|
|
CommitTimestampShared
|
2011-11-14 18:12:23 +01:00
|
|
|
CommonEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
CommonTableExpr
|
|
|
|
CompareScalarsContext
|
|
|
|
CompositeTypeStmt
|
2016-04-27 17:47:28 +02:00
|
|
|
CompoundAffixFlag
|
2011-04-09 05:11:37 +02:00
|
|
|
CompressionAlgorithm
|
|
|
|
CompressorState
|
2016-12-13 16:51:32 +01:00
|
|
|
ConditionVariable
|
2016-04-27 17:47:28 +02:00
|
|
|
ConfigData
|
2011-04-09 05:11:37 +02:00
|
|
|
ConfigVariable
|
2013-05-29 22:58:43 +02:00
|
|
|
ConnCacheEntry
|
|
|
|
ConnCacheKey
|
2010-02-26 02:55:35 +01:00
|
|
|
ConnStatusType
|
|
|
|
ConnType
|
2016-12-13 16:51:32 +01:00
|
|
|
ConnectionStateEnum
|
2011-11-14 18:12:23 +01:00
|
|
|
ConsiderSplitContext
|
2010-02-26 02:55:35 +01:00
|
|
|
Const
|
|
|
|
ConstrCheck
|
|
|
|
ConstrType
|
|
|
|
Constraint
|
|
|
|
ConstraintCategory
|
|
|
|
ConstraintInfo
|
|
|
|
ConstraintsSetStmt
|
2010-07-06 21:18:19 +02:00
|
|
|
ControlData
|
2010-02-26 02:55:35 +01:00
|
|
|
ControlFileData
|
|
|
|
ConvInfo
|
|
|
|
ConvProcInfo
|
2013-05-29 22:58:43 +02:00
|
|
|
ConversionLocation
|
2010-02-26 02:55:35 +01:00
|
|
|
ConvertRowtypeExpr
|
|
|
|
ConvertRowtypeExprState
|
|
|
|
CookedConstraint
|
|
|
|
CopyDest
|
|
|
|
CopyState
|
|
|
|
CopyStateData
|
|
|
|
CopyStmt
|
|
|
|
Cost
|
|
|
|
CostSelector
|
|
|
|
Counters
|
2013-06-01 16:18:59 +02:00
|
|
|
CoverExt
|
2010-02-26 02:55:35 +01:00
|
|
|
CoverPos
|
2016-04-27 17:47:28 +02:00
|
|
|
CreateAmStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateCastStmt
|
|
|
|
CreateConversionStmt
|
|
|
|
CreateDomainStmt
|
|
|
|
CreateEnumStmt
|
2013-05-29 22:58:43 +02:00
|
|
|
CreateEventTrigStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
CreateExtensionStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateFdwStmt
|
|
|
|
CreateForeignServerStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
CreateForeignTableStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateFunctionStmt
|
|
|
|
CreateOpClassItem
|
|
|
|
CreateOpClassStmt
|
|
|
|
CreateOpFamilyStmt
|
|
|
|
CreatePLangStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
CreatePolicyStmt
|
2011-11-14 18:12:23 +01:00
|
|
|
CreateRangeStmt
|
2014-05-06 15:08:14 +02:00
|
|
|
CreateReplicationSlotCmd
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateRoleStmt
|
|
|
|
CreateSchemaStmt
|
|
|
|
CreateSchemaStmtContext
|
|
|
|
CreateSeqStmt
|
|
|
|
CreateStmt
|
|
|
|
CreateStmtContext
|
2012-06-10 21:15:31 +02:00
|
|
|
CreateTableAsStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateTableSpaceStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
CreateTransformStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
CreateTrigStmt
|
|
|
|
CreateUserMappingStmt
|
|
|
|
CreatedbStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
CredHandle
|
2010-02-26 02:55:35 +01:00
|
|
|
CteItem
|
|
|
|
CteScan
|
|
|
|
CteScanState
|
|
|
|
CteState
|
|
|
|
CtlCommand
|
2011-04-09 05:11:37 +02:00
|
|
|
CtxtHandle
|
2010-02-26 02:55:35 +01:00
|
|
|
CurrentOfExpr
|
2015-05-24 03:20:37 +02:00
|
|
|
CustomExecMethods
|
2010-02-26 02:55:35 +01:00
|
|
|
CustomOutPtr
|
2015-05-24 03:20:37 +02:00
|
|
|
CustomPath
|
|
|
|
CustomScan
|
|
|
|
CustomScanMethods
|
|
|
|
CustomScanState
|
2010-02-26 02:55:35 +01:00
|
|
|
CycleCtr
|
|
|
|
DBState
|
|
|
|
DCHCacheEntry
|
|
|
|
DEADLOCK_INFO
|
2012-06-10 21:15:31 +02:00
|
|
|
DECountItem
|
2010-02-26 02:55:35 +01:00
|
|
|
DH
|
|
|
|
DIR
|
2014-05-06 15:08:14 +02:00
|
|
|
DNSServiceErrorType
|
|
|
|
DNSServiceRef
|
2010-02-26 02:55:35 +01:00
|
|
|
DR_copy
|
|
|
|
DR_intorel
|
|
|
|
DR_printtup
|
|
|
|
DR_sqlfunction
|
2013-05-29 22:58:43 +02:00
|
|
|
DR_transientrel
|
2010-02-26 02:55:35 +01:00
|
|
|
DWORD
|
|
|
|
DataDumperPtr
|
|
|
|
DataPageDeleteStack
|
|
|
|
DateADT
|
|
|
|
Datum
|
|
|
|
DatumTupleFields
|
2010-07-06 21:18:19 +02:00
|
|
|
DbInfo
|
|
|
|
DbInfoArr
|
2010-02-26 02:55:35 +01:00
|
|
|
DeClonePtr
|
|
|
|
DeadLockState
|
|
|
|
DeallocateStmt
|
|
|
|
DeclareCursorStmt
|
2015-05-24 03:20:37 +02:00
|
|
|
DecodedBkpBlock
|
2014-05-06 15:08:14 +02:00
|
|
|
DecodingOutputState
|
2010-02-26 02:55:35 +01:00
|
|
|
DefElem
|
|
|
|
DefElemAction
|
|
|
|
DefaultACLInfo
|
|
|
|
DefineStmt
|
|
|
|
DeleteStmt
|
|
|
|
DependencyType
|
|
|
|
DestReceiver
|
|
|
|
DictISpell
|
|
|
|
DictInt
|
|
|
|
DictSimple
|
|
|
|
DictSnowball
|
|
|
|
DictSubState
|
|
|
|
DictSyn
|
|
|
|
DictThesaurus
|
2016-12-13 16:51:32 +01:00
|
|
|
DirectoryMethodData
|
|
|
|
DirectoryMethodFile
|
2013-05-29 22:58:43 +02:00
|
|
|
DisableTimeoutParams
|
2010-02-26 02:55:35 +01:00
|
|
|
DiscardMode
|
|
|
|
DiscardStmt
|
|
|
|
DistinctExpr
|
|
|
|
DoStmt
|
|
|
|
DocRepresentation
|
2015-05-24 03:20:37 +02:00
|
|
|
DomainConstraintCache
|
|
|
|
DomainConstraintRef
|
2010-02-26 02:55:35 +01:00
|
|
|
DomainConstraintState
|
|
|
|
DomainConstraintType
|
|
|
|
DomainIOData
|
|
|
|
DropBehavior
|
|
|
|
DropOwnedStmt
|
2014-02-01 04:45:17 +01:00
|
|
|
DropReplicationSlotCmd
|
2010-02-26 02:55:35 +01:00
|
|
|
DropRoleStmt
|
|
|
|
DropStmt
|
|
|
|
DropTableSpaceStmt
|
|
|
|
DropUserMappingStmt
|
|
|
|
DropdbStmt
|
2016-05-02 15:23:55 +02:00
|
|
|
DumpComponents
|
2010-02-26 02:55:35 +01:00
|
|
|
DumpId
|
2015-05-24 03:20:37 +02:00
|
|
|
DumpOptions
|
2016-06-09 18:15:33 +02:00
|
|
|
DumpSignalInformation
|
2010-02-26 02:55:35 +01:00
|
|
|
DumpableObject
|
|
|
|
DumpableObjectType
|
|
|
|
DynamicFileList
|
2015-05-24 03:20:37 +02:00
|
|
|
DynamicZoneAbbrev
|
2014-05-06 15:08:14 +02:00
|
|
|
EC_KEY
|
2010-02-26 02:55:35 +01:00
|
|
|
EDGE
|
|
|
|
ENGINE
|
2015-05-24 03:20:37 +02:00
|
|
|
EOM_flatten_into_method
|
|
|
|
EOM_get_flat_size_method
|
2010-02-26 02:55:35 +01:00
|
|
|
EPQState
|
|
|
|
EPlan
|
|
|
|
EState
|
2016-12-13 16:51:32 +01:00
|
|
|
EVP_CIPHER
|
|
|
|
EVP_CIPHER_CTX
|
2010-02-26 02:55:35 +01:00
|
|
|
EVP_MD
|
|
|
|
EVP_MD_CTX
|
|
|
|
EVP_PKEY
|
2013-05-29 22:58:43 +02:00
|
|
|
EachState
|
2010-02-26 02:55:35 +01:00
|
|
|
Edge
|
2016-04-27 17:47:28 +02:00
|
|
|
EditableObjectType
|
2013-05-29 22:58:43 +02:00
|
|
|
ElementsState
|
|
|
|
EnableTimeoutParams
|
2010-02-26 02:55:35 +01:00
|
|
|
EndBlobPtr
|
|
|
|
EndBlobsPtr
|
|
|
|
EndDataPtr
|
2016-05-02 15:23:55 +02:00
|
|
|
EndDirectModify_function
|
2013-05-29 22:58:43 +02:00
|
|
|
EndForeignModify_function
|
2011-04-09 05:11:37 +02:00
|
|
|
EndForeignScan_function
|
2016-05-02 15:23:55 +02:00
|
|
|
EndSampleScan_function
|
2011-04-09 05:11:37 +02:00
|
|
|
EnumItem
|
2010-02-26 02:55:35 +01:00
|
|
|
EolType
|
|
|
|
EquivalenceClass
|
|
|
|
EquivalenceMember
|
|
|
|
ErrorContextCallback
|
|
|
|
ErrorData
|
2016-05-02 15:23:55 +02:00
|
|
|
EstimateDSMForeignScan_function
|
2013-05-29 22:58:43 +02:00
|
|
|
EventTriggerCacheEntry
|
|
|
|
EventTriggerCacheItem
|
|
|
|
EventTriggerCacheStateType
|
|
|
|
EventTriggerData
|
|
|
|
EventTriggerEvent
|
|
|
|
EventTriggerInfo
|
|
|
|
EventTriggerQueryState
|
2010-02-26 02:55:35 +01:00
|
|
|
ExceptionLabelMap
|
2011-04-09 05:11:37 +02:00
|
|
|
ExceptionMap
|
|
|
|
ExecAuxRowMark
|
2013-05-29 22:58:43 +02:00
|
|
|
ExecForeignDelete_function
|
|
|
|
ExecForeignInsert_function
|
|
|
|
ExecForeignUpdate_function
|
2016-04-27 17:47:28 +02:00
|
|
|
ExecParallelEstimateContext
|
|
|
|
ExecParallelInitializeDSMContext
|
|
|
|
ExecPhraseData
|
2010-02-26 02:55:35 +01:00
|
|
|
ExecRowMark
|
|
|
|
ExecScanAccessMtd
|
|
|
|
ExecScanRecheckMtd
|
|
|
|
ExecStatus
|
|
|
|
ExecStatusType
|
|
|
|
ExecuteStmt
|
2011-04-09 05:11:37 +02:00
|
|
|
ExecutorCheckPerms_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
ExecutorEnd_hook_type
|
2011-04-09 05:11:37 +02:00
|
|
|
ExecutorFinish_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
ExecutorRun_hook_type
|
|
|
|
ExecutorStart_hook_type
|
2015-05-24 03:20:37 +02:00
|
|
|
ExpandedArrayHeader
|
|
|
|
ExpandedObjectHeader
|
|
|
|
ExpandedObjectMethods
|
2016-05-02 15:23:55 +02:00
|
|
|
ExplainDirectModify_function
|
2013-05-29 22:58:43 +02:00
|
|
|
ExplainForeignModify_function
|
2011-04-09 05:11:37 +02:00
|
|
|
ExplainForeignScan_function
|
2010-02-26 02:55:35 +01:00
|
|
|
ExplainFormat
|
|
|
|
ExplainOneQuery_hook_type
|
|
|
|
ExplainState
|
|
|
|
ExplainStmt
|
|
|
|
Expr
|
|
|
|
ExprContext
|
|
|
|
ExprContextCallbackFunction
|
|
|
|
ExprContext_CB
|
|
|
|
ExprDoneCond
|
|
|
|
ExprState
|
|
|
|
ExprStateEvalFunc
|
2016-04-27 17:47:28 +02:00
|
|
|
ExtensibleNode
|
|
|
|
ExtensibleNodeEntry
|
|
|
|
ExtensibleNodeMethods
|
2011-04-09 05:11:37 +02:00
|
|
|
ExtensionControlFile
|
|
|
|
ExtensionInfo
|
2016-04-27 17:47:28 +02:00
|
|
|
ExtensionMemberId
|
2011-04-09 05:11:37 +02:00
|
|
|
ExtensionVersionInfo
|
2013-05-29 22:58:43 +02:00
|
|
|
FDWCollateState
|
2011-04-09 05:11:37 +02:00
|
|
|
FD_SET
|
2010-02-26 02:55:35 +01:00
|
|
|
FILE
|
|
|
|
FILETIME
|
|
|
|
FSMAddress
|
|
|
|
FSMPage
|
|
|
|
FSMPageData
|
|
|
|
FakeRelCacheEntry
|
|
|
|
FakeRelCacheEntryData
|
2011-11-14 18:12:23 +01:00
|
|
|
FastPathStrongRelationLockData
|
2010-02-26 02:55:35 +01:00
|
|
|
FdwInfo
|
2011-04-09 05:11:37 +02:00
|
|
|
FdwRoutine
|
2010-02-26 02:55:35 +01:00
|
|
|
FetchDirection
|
|
|
|
FetchStmt
|
|
|
|
FieldNot
|
|
|
|
FieldSelect
|
|
|
|
FieldSelectState
|
|
|
|
FieldStore
|
|
|
|
FieldStoreState
|
|
|
|
File
|
2011-04-09 05:11:37 +02:00
|
|
|
FileFdwExecutionState
|
2012-06-10 21:15:31 +02:00
|
|
|
FileFdwPlanState
|
2010-02-26 02:55:35 +01:00
|
|
|
FileName
|
2010-07-06 21:18:19 +02:00
|
|
|
FileNameMap
|
2010-02-26 02:55:35 +01:00
|
|
|
FindSplitData
|
2015-05-24 03:20:37 +02:00
|
|
|
FixedParallelState
|
2010-02-26 02:55:35 +01:00
|
|
|
FixedParamState
|
2016-04-27 17:47:28 +02:00
|
|
|
FlagMode
|
2010-02-26 02:55:35 +01:00
|
|
|
FmgrBuiltin
|
2011-04-09 05:11:37 +02:00
|
|
|
FmgrHookEventType
|
2010-02-26 02:55:35 +01:00
|
|
|
FmgrInfo
|
|
|
|
ForeignDataWrapper
|
2016-08-15 19:42:51 +02:00
|
|
|
ForeignKeyCacheInfo
|
|
|
|
ForeignKeyOptInfo
|
2011-04-09 05:11:37 +02:00
|
|
|
ForeignPath
|
|
|
|
ForeignScan
|
|
|
|
ForeignScanState
|
2010-02-26 02:55:35 +01:00
|
|
|
ForeignServer
|
|
|
|
ForeignServerInfo
|
2011-04-09 05:11:37 +02:00
|
|
|
ForeignTable
|
2010-02-26 02:55:35 +01:00
|
|
|
ForkNumber
|
|
|
|
FormData_pg_aggregate
|
|
|
|
FormData_pg_am
|
|
|
|
FormData_pg_amop
|
|
|
|
FormData_pg_amproc
|
|
|
|
FormData_pg_attrdef
|
|
|
|
FormData_pg_attribute
|
|
|
|
FormData_pg_auth_members
|
|
|
|
FormData_pg_authid
|
|
|
|
FormData_pg_cast
|
|
|
|
FormData_pg_class
|
2011-04-09 05:11:37 +02:00
|
|
|
FormData_pg_collation
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_constraint
|
|
|
|
FormData_pg_conversion
|
|
|
|
FormData_pg_database
|
|
|
|
FormData_pg_default_acl
|
|
|
|
FormData_pg_depend
|
|
|
|
FormData_pg_enum
|
2013-05-29 22:58:43 +02:00
|
|
|
FormData_pg_event_trigger
|
2011-04-09 05:11:37 +02:00
|
|
|
FormData_pg_extension
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_foreign_data_wrapper
|
|
|
|
FormData_pg_foreign_server
|
2011-04-09 05:11:37 +02:00
|
|
|
FormData_pg_foreign_table
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_index
|
|
|
|
FormData_pg_inherits
|
|
|
|
FormData_pg_language
|
|
|
|
FormData_pg_largeobject
|
|
|
|
FormData_pg_largeobject_metadata
|
|
|
|
FormData_pg_namespace
|
|
|
|
FormData_pg_opclass
|
|
|
|
FormData_pg_operator
|
|
|
|
FormData_pg_opfamily
|
2016-12-13 16:51:32 +01:00
|
|
|
FormData_pg_partitioned_table
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_pltemplate
|
2015-05-24 03:20:37 +02:00
|
|
|
FormData_pg_policy
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_proc
|
2011-11-14 18:12:23 +01:00
|
|
|
FormData_pg_range
|
2015-05-24 03:20:37 +02:00
|
|
|
FormData_pg_replication_origin
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_rewrite
|
|
|
|
FormData_pg_sequence
|
|
|
|
FormData_pg_shdepend
|
|
|
|
FormData_pg_statistic
|
|
|
|
FormData_pg_tablespace
|
2015-05-24 03:20:37 +02:00
|
|
|
FormData_pg_transform
|
2010-02-26 02:55:35 +01:00
|
|
|
FormData_pg_trigger
|
|
|
|
FormData_pg_ts_config
|
|
|
|
FormData_pg_ts_config_map
|
|
|
|
FormData_pg_ts_dict
|
|
|
|
FormData_pg_ts_parser
|
|
|
|
FormData_pg_ts_template
|
|
|
|
FormData_pg_type
|
|
|
|
FormData_pg_user_mapping
|
|
|
|
Form_pg_aggregate
|
|
|
|
Form_pg_am
|
|
|
|
Form_pg_amop
|
|
|
|
Form_pg_amproc
|
|
|
|
Form_pg_attrdef
|
|
|
|
Form_pg_attribute
|
|
|
|
Form_pg_auth_members
|
|
|
|
Form_pg_authid
|
|
|
|
Form_pg_cast
|
|
|
|
Form_pg_class
|
2011-04-09 05:11:37 +02:00
|
|
|
Form_pg_collation
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_constraint
|
|
|
|
Form_pg_conversion
|
|
|
|
Form_pg_database
|
|
|
|
Form_pg_default_acl
|
|
|
|
Form_pg_depend
|
|
|
|
Form_pg_enum
|
2013-05-29 22:58:43 +02:00
|
|
|
Form_pg_event_trigger
|
2011-04-09 05:11:37 +02:00
|
|
|
Form_pg_extension
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_foreign_data_wrapper
|
|
|
|
Form_pg_foreign_server
|
2011-04-09 05:11:37 +02:00
|
|
|
Form_pg_foreign_table
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_index
|
|
|
|
Form_pg_inherits
|
|
|
|
Form_pg_language
|
|
|
|
Form_pg_largeobject
|
|
|
|
Form_pg_largeobject_metadata
|
|
|
|
Form_pg_namespace
|
|
|
|
Form_pg_opclass
|
|
|
|
Form_pg_operator
|
|
|
|
Form_pg_opfamily
|
2016-12-13 16:51:32 +01:00
|
|
|
Form_pg_partitioned_table
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_pltemplate
|
2015-05-24 03:20:37 +02:00
|
|
|
Form_pg_policy
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_proc
|
2011-11-14 18:12:23 +01:00
|
|
|
Form_pg_range
|
2015-05-24 03:20:37 +02:00
|
|
|
Form_pg_replication_origin
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_rewrite
|
|
|
|
Form_pg_sequence
|
|
|
|
Form_pg_shdepend
|
|
|
|
Form_pg_statistic
|
|
|
|
Form_pg_tablespace
|
2015-05-24 03:20:37 +02:00
|
|
|
Form_pg_transform
|
2010-02-26 02:55:35 +01:00
|
|
|
Form_pg_trigger
|
|
|
|
Form_pg_ts_config
|
|
|
|
Form_pg_ts_config_map
|
|
|
|
Form_pg_ts_dict
|
|
|
|
Form_pg_ts_parser
|
|
|
|
Form_pg_ts_template
|
|
|
|
Form_pg_type
|
|
|
|
Form_pg_user_mapping
|
|
|
|
FormatNode
|
2016-05-02 15:23:55 +02:00
|
|
|
FreeBlockNumberArray
|
|
|
|
FreeListData
|
2016-12-02 18:03:30 +01:00
|
|
|
FreePageBtree
|
|
|
|
FreePageBtreeHeader
|
|
|
|
FreePageBtreeInternalKey
|
|
|
|
FreePageBtreeLeafKey
|
|
|
|
FreePageBtreeSearchResult
|
|
|
|
FreePageManager
|
|
|
|
FreePageSpanLeader
|
2010-02-26 02:55:35 +01:00
|
|
|
FromCharDateMode
|
|
|
|
FromExpr
|
|
|
|
FuncCall
|
|
|
|
FuncCallContext
|
|
|
|
FuncCandidateList
|
|
|
|
FuncDetailCode
|
|
|
|
FuncExpr
|
|
|
|
FuncExprState
|
|
|
|
FuncInfo
|
|
|
|
FunctionCallInfo
|
|
|
|
FunctionCallInfoData
|
|
|
|
FunctionParameter
|
|
|
|
FunctionParameterMode
|
|
|
|
FunctionScan
|
2014-05-06 15:08:14 +02:00
|
|
|
FunctionScanPerFuncState
|
2010-02-26 02:55:35 +01:00
|
|
|
FunctionScanState
|
2015-05-24 03:20:37 +02:00
|
|
|
FuzzyAttrMatchState
|
2010-02-26 02:55:35 +01:00
|
|
|
GBT_NUMKEY
|
|
|
|
GBT_NUMKEY_R
|
|
|
|
GBT_VARKEY
|
|
|
|
GBT_VARKEY_R
|
2015-05-24 03:20:37 +02:00
|
|
|
GENERAL_NAME
|
2011-11-14 18:12:23 +01:00
|
|
|
GISTBuildBuffers
|
2010-02-26 02:55:35 +01:00
|
|
|
GISTBuildState
|
|
|
|
GISTENTRY
|
|
|
|
GISTInsertStack
|
|
|
|
GISTInsertState
|
2011-11-14 18:12:23 +01:00
|
|
|
GISTNodeBuffer
|
|
|
|
GISTNodeBufferPage
|
2010-02-26 02:55:35 +01:00
|
|
|
GISTPageOpaque
|
|
|
|
GISTPageOpaqueData
|
2011-04-09 05:11:37 +02:00
|
|
|
GISTPageSplitInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
GISTSTATE
|
|
|
|
GISTScanOpaque
|
|
|
|
GISTScanOpaqueData
|
2011-04-09 05:11:37 +02:00
|
|
|
GISTSearchHeapItem
|
|
|
|
GISTSearchItem
|
2010-02-26 02:55:35 +01:00
|
|
|
GISTTYPE
|
|
|
|
GIST_SPLITVEC
|
|
|
|
GV
|
2016-04-27 17:47:28 +02:00
|
|
|
Gather
|
|
|
|
GatherPath
|
|
|
|
GatherState
|
2017-03-09 13:40:36 +01:00
|
|
|
GatherMerge
|
|
|
|
GatherMergePath
|
|
|
|
GatherMergeState
|
2010-02-26 02:55:35 +01:00
|
|
|
Gene
|
2013-05-29 22:58:43 +02:00
|
|
|
GenericCosts
|
2010-02-26 02:55:35 +01:00
|
|
|
GenericExprState
|
2016-04-27 17:47:28 +02:00
|
|
|
GenericXLogState
|
2010-02-26 02:55:35 +01:00
|
|
|
GeqoPrivateData
|
2015-05-24 03:20:37 +02:00
|
|
|
GetForeignJoinPaths_function
|
2012-06-10 21:15:31 +02:00
|
|
|
GetForeignPaths_function
|
|
|
|
GetForeignPlan_function
|
|
|
|
GetForeignRelSize_function
|
2015-05-24 03:20:37 +02:00
|
|
|
GetForeignRowMarkType_function
|
2016-05-02 15:23:55 +02:00
|
|
|
GetForeignUpperPaths_function
|
2013-05-29 22:58:43 +02:00
|
|
|
GetState
|
2011-11-14 18:12:23 +01:00
|
|
|
GiSTOptions
|
2010-02-26 02:55:35 +01:00
|
|
|
GinBtree
|
|
|
|
GinBtreeData
|
2014-05-06 15:08:14 +02:00
|
|
|
GinBtreeDataLeafInsertData
|
|
|
|
GinBtreeEntryInsertData
|
2010-02-26 02:55:35 +01:00
|
|
|
GinBtreeStack
|
|
|
|
GinBuildState
|
|
|
|
GinChkVal
|
2011-04-09 05:11:37 +02:00
|
|
|
GinEntryAccumulator
|
2013-05-29 22:58:43 +02:00
|
|
|
GinIndexStat
|
2010-02-26 02:55:35 +01:00
|
|
|
GinMetaPageData
|
2011-04-09 05:11:37 +02:00
|
|
|
GinNullCategory
|
2010-02-26 02:55:35 +01:00
|
|
|
GinOptions
|
|
|
|
GinPageOpaque
|
|
|
|
GinPageOpaqueData
|
2014-05-06 15:08:14 +02:00
|
|
|
GinPlaceToPageRC
|
|
|
|
GinPostingList
|
2012-06-10 21:15:31 +02:00
|
|
|
GinQualCounts
|
2010-02-26 02:55:35 +01:00
|
|
|
GinScanEntry
|
|
|
|
GinScanKey
|
|
|
|
GinScanOpaque
|
|
|
|
GinScanOpaqueData
|
|
|
|
GinState
|
2011-04-09 05:11:37 +02:00
|
|
|
GinStatsData
|
2014-05-06 15:08:14 +02:00
|
|
|
GinTernaryValue
|
2010-02-26 02:55:35 +01:00
|
|
|
GinTupleCollector
|
|
|
|
GinVacuumState
|
|
|
|
GistBDItem
|
2011-11-14 18:12:23 +01:00
|
|
|
GistBufferingMode
|
2010-02-26 02:55:35 +01:00
|
|
|
GistEntryVector
|
2014-05-06 15:08:14 +02:00
|
|
|
GistInetKey
|
2010-02-26 02:55:35 +01:00
|
|
|
GistNSN
|
|
|
|
GistSplitUnion
|
|
|
|
GistSplitVector
|
|
|
|
GlobalTransaction
|
|
|
|
GrantObjectType
|
|
|
|
GrantRoleStmt
|
|
|
|
GrantStmt
|
|
|
|
GrantTargetType
|
|
|
|
Group
|
2016-04-27 17:47:28 +02:00
|
|
|
GroupPath
|
2010-02-26 02:55:35 +01:00
|
|
|
GroupState
|
|
|
|
GroupVarInfo
|
2015-05-24 03:20:37 +02:00
|
|
|
GroupingFunc
|
|
|
|
GroupingFuncExprState
|
|
|
|
GroupingSet
|
|
|
|
GroupingSetKind
|
2016-04-27 17:47:28 +02:00
|
|
|
GroupingSetsPath
|
2010-02-26 02:55:35 +01:00
|
|
|
GucAction
|
|
|
|
GucBoolAssignHook
|
2011-04-09 05:11:37 +02:00
|
|
|
GucBoolCheckHook
|
2010-02-26 02:55:35 +01:00
|
|
|
GucContext
|
|
|
|
GucEnumAssignHook
|
2011-04-09 05:11:37 +02:00
|
|
|
GucEnumCheckHook
|
2010-02-26 02:55:35 +01:00
|
|
|
GucIntAssignHook
|
2011-04-09 05:11:37 +02:00
|
|
|
GucIntCheckHook
|
2010-02-26 02:55:35 +01:00
|
|
|
GucRealAssignHook
|
2011-04-09 05:11:37 +02:00
|
|
|
GucRealCheckHook
|
2010-02-26 02:55:35 +01:00
|
|
|
GucShowHook
|
|
|
|
GucSource
|
|
|
|
GucStack
|
|
|
|
GucStackState
|
|
|
|
GucStringAssignHook
|
2011-04-09 05:11:37 +02:00
|
|
|
GucStringCheckHook
|
2010-02-26 02:55:35 +01:00
|
|
|
HANDLE
|
|
|
|
HASHACTION
|
|
|
|
HASHBUCKET
|
|
|
|
HASHCTL
|
|
|
|
HASHELEMENT
|
|
|
|
HASHHDR
|
|
|
|
HASHSEGMENT
|
|
|
|
HASH_SEQ_STATUS
|
2016-12-13 16:51:32 +01:00
|
|
|
HCRYPTPROV
|
2011-04-09 05:11:37 +02:00
|
|
|
HE
|
2010-02-26 02:55:35 +01:00
|
|
|
HEntry
|
|
|
|
HIST_ENTRY
|
|
|
|
HKEY
|
|
|
|
HLOCAL
|
|
|
|
HMODULE
|
|
|
|
HOldEntry
|
2011-11-14 18:12:23 +01:00
|
|
|
HRESULT
|
2010-02-26 02:55:35 +01:00
|
|
|
HSParser
|
|
|
|
HSpool
|
|
|
|
HStore
|
|
|
|
HTAB
|
|
|
|
HTSU_Result
|
|
|
|
HTSV_Result
|
|
|
|
HV
|
|
|
|
Hash
|
|
|
|
HashAllocFunc
|
|
|
|
HashBuildState
|
|
|
|
HashCompareFunc
|
|
|
|
HashCopyFunc
|
|
|
|
HashJoin
|
|
|
|
HashJoinState
|
|
|
|
HashJoinTable
|
|
|
|
HashJoinTuple
|
2015-05-24 03:20:37 +02:00
|
|
|
HashMemoryChunk
|
2010-02-26 02:55:35 +01:00
|
|
|
HashMetaPage
|
|
|
|
HashMetaPageData
|
|
|
|
HashPageOpaque
|
|
|
|
HashPageOpaqueData
|
|
|
|
HashPath
|
|
|
|
HashScanOpaque
|
|
|
|
HashScanOpaqueData
|
|
|
|
HashSkewBucket
|
|
|
|
HashState
|
|
|
|
HashValueFunc
|
|
|
|
HbaLine
|
2011-11-14 18:12:23 +01:00
|
|
|
HbaToken
|
2010-02-26 02:55:35 +01:00
|
|
|
HeadlineParsedText
|
|
|
|
HeadlineWordEntry
|
|
|
|
HeapScanDesc
|
|
|
|
HeapTuple
|
|
|
|
HeapTupleData
|
|
|
|
HeapTupleFields
|
|
|
|
HeapTupleHeader
|
|
|
|
HeapTupleHeaderData
|
2013-05-29 22:58:43 +02:00
|
|
|
HeapUpdateFailureData
|
2010-02-26 02:55:35 +01:00
|
|
|
HistControl
|
|
|
|
HotStandbyState
|
|
|
|
I32
|
|
|
|
INFIX
|
2011-04-09 05:11:37 +02:00
|
|
|
INTERFACE_INFO
|
2010-02-26 02:55:35 +01:00
|
|
|
IOFuncSelector
|
|
|
|
IPCompareMethod
|
|
|
|
ITEM
|
|
|
|
IV
|
2013-05-29 22:58:43 +02:00
|
|
|
IdentLine
|
2010-02-26 02:55:35 +01:00
|
|
|
IdentifierLookup
|
2011-04-09 05:11:37 +02:00
|
|
|
IdentifySystemCmd
|
2015-05-24 03:20:37 +02:00
|
|
|
ImportForeignSchemaStmt
|
|
|
|
ImportForeignSchemaType
|
|
|
|
ImportForeignSchema_function
|
|
|
|
ImportQual
|
|
|
|
InclusionOpaque
|
2010-02-26 02:55:35 +01:00
|
|
|
IncrementVarSublevelsUp_context
|
|
|
|
Index
|
2016-08-15 19:42:51 +02:00
|
|
|
IndexAMProperty
|
2016-04-27 17:47:28 +02:00
|
|
|
IndexAmRoutine
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexArrayKeyInfo
|
Add new wal_level, logical, sufficient for logical decoding.
When wal_level=logical, we'll log columns from the old tuple as
configured by the REPLICA IDENTITY facility added in commit
07cacba983ef79be4a84fcd0e0ca3b5fcb85dd65. This makes it possible
a properly-configured logical replication solution to correctly
follow table updates even if they change the chosen key columns,
or, with REPLICA IDENTITY FULL, even if the table has no key at
all. Note that updates which do not modify the replica identity
column won't log anything extra, making the choice of a good key
(i.e. one that will rarely be changed) important to performance
when wal_level=logical is configured.
Each insert, update, or delete to a catalog table will also log
the CMIN and/or CMAX values of stamped by the current transaction.
This is necessary because logical decoding will require access to
historical snapshots of the catalog in order to decode some data
types, and the CMIN/CMAX values that we may need in order to judge
row visibility may have been overwritten by the time we need them.
Andres Freund, reviewed in various versions by myself, Heikki
Linnakangas, KONDO Mitsumasa, and many others.
2013-12-11 00:33:45 +01:00
|
|
|
IndexAttrBitmapKind
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexBuildCallback
|
|
|
|
IndexBuildResult
|
|
|
|
IndexBulkDeleteCallback
|
|
|
|
IndexBulkDeleteResult
|
2012-06-10 21:15:31 +02:00
|
|
|
IndexClauseSet
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexElem
|
|
|
|
IndexInfo
|
|
|
|
IndexList
|
2011-11-14 18:12:23 +01:00
|
|
|
IndexOnlyScan
|
|
|
|
IndexOnlyScanState
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexOptInfo
|
|
|
|
IndexPath
|
2015-05-24 03:20:37 +02:00
|
|
|
IndexQualInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexRuntimeKeyInfo
|
|
|
|
IndexScan
|
|
|
|
IndexScanDesc
|
|
|
|
IndexScanState
|
2013-05-29 22:58:43 +02:00
|
|
|
IndexStateFlagsAction
|
2010-02-26 02:55:35 +01:00
|
|
|
IndexStmt
|
|
|
|
IndexTuple
|
|
|
|
IndexTupleData
|
|
|
|
IndexUniqueCheck
|
|
|
|
IndexVacuumInfo
|
|
|
|
IndirectBlock
|
|
|
|
IndxInfo
|
2015-05-24 03:20:37 +02:00
|
|
|
InferClause
|
|
|
|
InferenceElem
|
2010-02-26 02:55:35 +01:00
|
|
|
InfoItem
|
|
|
|
InhInfo
|
|
|
|
InhOption
|
2011-04-09 05:11:37 +02:00
|
|
|
InheritableSocket
|
2016-05-02 15:23:55 +02:00
|
|
|
InitSampleScan_function
|
|
|
|
InitializeDSMForeignScan_function
|
|
|
|
InitializeWorkerForeignScan_function
|
2010-02-26 02:55:35 +01:00
|
|
|
InlineCodeBlock
|
|
|
|
InsertStmt
|
|
|
|
Instrumentation
|
2015-05-24 03:20:37 +02:00
|
|
|
Int128AggState
|
2010-02-26 02:55:35 +01:00
|
|
|
Int8TransTypeData
|
|
|
|
IntArray
|
|
|
|
InternalDefaultACL
|
|
|
|
InternalGrant
|
|
|
|
Interval
|
|
|
|
IntoClause
|
|
|
|
InvalidationChunk
|
|
|
|
InvalidationListHeader
|
2016-12-13 16:51:32 +01:00
|
|
|
InvertedWalkNextStep
|
2010-02-26 02:55:35 +01:00
|
|
|
IpcMemoryId
|
|
|
|
IpcMemoryKey
|
|
|
|
IpcSemaphoreId
|
|
|
|
IpcSemaphoreKey
|
2014-05-06 15:08:14 +02:00
|
|
|
IsForeignRelUpdatable_function
|
2016-05-02 15:23:55 +02:00
|
|
|
IsForeignScanParallelSafe_function
|
2010-02-26 02:55:35 +01:00
|
|
|
IspellDict
|
|
|
|
Item
|
|
|
|
ItemId
|
|
|
|
ItemIdData
|
|
|
|
ItemPointer
|
|
|
|
ItemPointerData
|
2016-05-02 15:23:55 +02:00
|
|
|
IterateDirectModify_function
|
2011-04-09 05:11:37 +02:00
|
|
|
IterateForeignScan_function
|
2014-05-06 15:08:14 +02:00
|
|
|
JEntry
|
2013-05-29 22:58:43 +02:00
|
|
|
JHashState
|
2010-02-26 02:55:35 +01:00
|
|
|
JOBOBJECTINFOCLASS
|
|
|
|
JOBOBJECT_BASIC_LIMIT_INFORMATION
|
|
|
|
JOBOBJECT_BASIC_UI_RESTRICTIONS
|
|
|
|
JOBOBJECT_SECURITY_LIMIT_INFORMATION
|
|
|
|
Join
|
2012-06-10 21:15:31 +02:00
|
|
|
JoinCostWorkspace
|
2010-02-26 02:55:35 +01:00
|
|
|
JoinExpr
|
|
|
|
JoinHashEntry
|
|
|
|
JoinPath
|
2015-05-24 03:20:37 +02:00
|
|
|
JoinPathExtraData
|
2010-02-26 02:55:35 +01:00
|
|
|
JoinState
|
|
|
|
JoinType
|
2016-04-27 17:47:28 +02:00
|
|
|
JsonAggState
|
2013-05-29 22:58:43 +02:00
|
|
|
JsonHashEntry
|
2012-06-10 21:15:31 +02:00
|
|
|
JsonLexContext
|
2013-05-29 22:58:43 +02:00
|
|
|
JsonParseContext
|
|
|
|
JsonSemAction
|
|
|
|
JsonTokenType
|
2015-05-24 03:20:37 +02:00
|
|
|
JsonTypeCategory
|
2014-05-06 15:08:14 +02:00
|
|
|
Jsonb
|
2016-04-27 17:47:28 +02:00
|
|
|
JsonbAggState
|
2015-05-24 03:20:37 +02:00
|
|
|
JsonbContainer
|
2014-05-06 15:08:14 +02:00
|
|
|
JsonbInState
|
|
|
|
JsonbIterState
|
|
|
|
JsonbIterator
|
2015-05-24 03:20:37 +02:00
|
|
|
JsonbIteratorToken
|
2014-05-06 15:08:14 +02:00
|
|
|
JsonbPair
|
|
|
|
JsonbParseState
|
2015-05-24 03:20:37 +02:00
|
|
|
JsonbTypeCategory
|
2014-05-06 15:08:14 +02:00
|
|
|
JsonbValue
|
2010-02-26 02:55:35 +01:00
|
|
|
JunkFilter
|
2011-04-09 05:11:37 +02:00
|
|
|
KeyArray
|
2010-02-26 02:55:35 +01:00
|
|
|
KeySuffix
|
|
|
|
KeyWord
|
|
|
|
LARGE_INTEGER
|
|
|
|
LDAP
|
|
|
|
LDAPMessage
|
2013-05-29 22:58:43 +02:00
|
|
|
LDAPURLDesc
|
2010-02-26 02:55:35 +01:00
|
|
|
LDAP_TIMEVAL
|
|
|
|
LINE
|
|
|
|
LOCALLOCK
|
|
|
|
LOCALLOCKOWNER
|
|
|
|
LOCALLOCKTAG
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
LOCALPREDICATELOCK
|
2010-02-26 02:55:35 +01:00
|
|
|
LOCK
|
|
|
|
LOCKMASK
|
|
|
|
LOCKMETHODID
|
|
|
|
LOCKMODE
|
|
|
|
LOCKTAG
|
|
|
|
LONG
|
2011-04-09 05:11:37 +02:00
|
|
|
LOOP
|
2010-02-26 02:55:35 +01:00
|
|
|
LPBYTE
|
|
|
|
LPCTSTR
|
|
|
|
LPCWSTR
|
|
|
|
LPDWORD
|
|
|
|
LPSECURITY_ATTRIBUTES
|
|
|
|
LPSERVICE_STATUS
|
|
|
|
LPSTR
|
|
|
|
LPTHREAD_START_ROUTINE
|
|
|
|
LPTSTR
|
|
|
|
LPVOID
|
|
|
|
LPWSTR
|
|
|
|
LSEG
|
|
|
|
LVRelStats
|
|
|
|
LWLock
|
2015-05-24 03:20:37 +02:00
|
|
|
LWLockHandle
|
2015-12-15 19:32:54 +01:00
|
|
|
LWLockMinimallyPadded
|
2010-02-26 02:55:35 +01:00
|
|
|
LWLockMode
|
|
|
|
LWLockPadded
|
2014-05-06 15:08:14 +02:00
|
|
|
LWLockTranche
|
2011-04-09 05:11:37 +02:00
|
|
|
LabelProvider
|
2010-02-26 02:55:35 +01:00
|
|
|
LargeObjectDesc
|
2011-04-09 05:11:37 +02:00
|
|
|
Latch
|
2014-05-06 15:08:14 +02:00
|
|
|
LerpFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
LexDescr
|
|
|
|
LexemeEntry
|
|
|
|
LexemeHashKey
|
|
|
|
LexemeInfo
|
|
|
|
LexemeKey
|
|
|
|
LexizeData
|
|
|
|
Limit
|
2016-04-27 17:47:28 +02:00
|
|
|
LimitPath
|
2010-02-26 02:55:35 +01:00
|
|
|
LimitState
|
|
|
|
LimitStateCond
|
|
|
|
List
|
|
|
|
ListCell
|
|
|
|
ListDictionary
|
|
|
|
ListParsedLex
|
|
|
|
ListenAction
|
|
|
|
ListenActionKind
|
|
|
|
ListenStmt
|
|
|
|
LoadStmt
|
|
|
|
LocalBufferLookupEnt
|
2014-05-06 15:08:14 +02:00
|
|
|
LocalPgBackendStatus
|
2010-02-26 02:55:35 +01:00
|
|
|
LocalTransactionId
|
|
|
|
LocationIndex
|
|
|
|
LockAcquireResult
|
2013-05-29 22:58:43 +02:00
|
|
|
LockClauseStrength
|
2010-02-26 02:55:35 +01:00
|
|
|
LockData
|
|
|
|
LockInfoData
|
2011-11-14 18:12:23 +01:00
|
|
|
LockInstanceData
|
2010-02-26 02:55:35 +01:00
|
|
|
LockMethod
|
|
|
|
LockMethodData
|
|
|
|
LockRelId
|
|
|
|
LockRows
|
2016-04-27 17:47:28 +02:00
|
|
|
LockRowsPath
|
2010-02-26 02:55:35 +01:00
|
|
|
LockRowsState
|
|
|
|
LockStmt
|
|
|
|
LockTagType
|
|
|
|
LockTupleMode
|
2015-05-24 03:20:37 +02:00
|
|
|
LockWaitPolicy
|
2010-02-26 02:55:35 +01:00
|
|
|
LockingClause
|
2011-04-09 05:11:37 +02:00
|
|
|
LogOpts
|
2010-02-26 02:55:35 +01:00
|
|
|
LogStmtLevel
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
LogicalDecodeBeginCB
|
|
|
|
LogicalDecodeChangeCB
|
|
|
|
LogicalDecodeCommitCB
|
2015-05-24 03:20:37 +02:00
|
|
|
LogicalDecodeFilterByOriginCB
|
2016-05-02 15:23:55 +02:00
|
|
|
LogicalDecodeMessageCB
|
2014-05-06 15:08:14 +02:00
|
|
|
LogicalDecodeShutdownCB
|
|
|
|
LogicalDecodeStartupCB
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
LogicalDecodingContext
|
2014-05-06 15:08:14 +02:00
|
|
|
LogicalErrorCallbackState
|
|
|
|
LogicalOutputPluginInit
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
LogicalOutputPluginWriterPrepareWrite
|
|
|
|
LogicalOutputPluginWriterWrite
|
2014-05-06 15:08:14 +02:00
|
|
|
LogicalRewriteMappingData
|
2010-02-26 02:55:35 +01:00
|
|
|
LogicalTape
|
|
|
|
LogicalTapeSet
|
|
|
|
MAGIC
|
|
|
|
MBuf
|
2014-05-06 15:08:14 +02:00
|
|
|
MEMORY_BASIC_INFORMATION
|
2011-04-09 05:11:37 +02:00
|
|
|
MINIDUMPWRITEDUMP
|
|
|
|
MINIDUMP_TYPE
|
2010-07-06 21:18:19 +02:00
|
|
|
MJEvalResult
|
2010-02-26 02:55:35 +01:00
|
|
|
Material
|
|
|
|
MaterialPath
|
|
|
|
MaterialState
|
|
|
|
MdfdVec
|
|
|
|
MemoryContext
|
2015-05-24 03:20:37 +02:00
|
|
|
MemoryContextCallback
|
|
|
|
MemoryContextCallbackFunction
|
2016-04-27 17:47:28 +02:00
|
|
|
MemoryContextCounters
|
2010-02-26 02:55:35 +01:00
|
|
|
MemoryContextData
|
|
|
|
MemoryContextMethods
|
2011-04-09 05:11:37 +02:00
|
|
|
MergeAppend
|
|
|
|
MergeAppendPath
|
|
|
|
MergeAppendState
|
2010-02-26 02:55:35 +01:00
|
|
|
MergeJoin
|
|
|
|
MergeJoinClause
|
|
|
|
MergeJoinState
|
|
|
|
MergePath
|
|
|
|
MergeScanSelCache
|
|
|
|
MinMaxAggInfo
|
2016-04-27 17:47:28 +02:00
|
|
|
MinMaxAggPath
|
2010-02-26 02:55:35 +01:00
|
|
|
MinMaxExpr
|
|
|
|
MinMaxExprState
|
|
|
|
MinMaxOp
|
|
|
|
MinimalTuple
|
|
|
|
MinimalTupleData
|
2015-05-24 03:20:37 +02:00
|
|
|
MinmaxOpaque
|
2010-02-26 02:55:35 +01:00
|
|
|
ModifyTable
|
2016-04-27 17:47:28 +02:00
|
|
|
ModifyTablePath
|
2010-02-26 02:55:35 +01:00
|
|
|
ModifyTableState
|
2016-04-27 17:47:28 +02:00
|
|
|
MorphOpaque
|
2010-02-26 02:55:35 +01:00
|
|
|
MsgType
|
2015-05-24 03:20:37 +02:00
|
|
|
MultiAssignRef
|
2010-02-26 02:55:35 +01:00
|
|
|
MultiXactId
|
2013-05-29 22:58:43 +02:00
|
|
|
MultiXactMember
|
2010-02-26 02:55:35 +01:00
|
|
|
MultiXactOffset
|
|
|
|
MultiXactStateData
|
2013-05-29 22:58:43 +02:00
|
|
|
MultiXactStatus
|
2010-02-26 02:55:35 +01:00
|
|
|
MyData
|
|
|
|
NDBOX
|
|
|
|
NODE
|
|
|
|
NUMCacheEntry
|
|
|
|
NUMDesc
|
|
|
|
NUMProc
|
|
|
|
NV
|
|
|
|
Name
|
|
|
|
NameData
|
2016-04-27 17:47:28 +02:00
|
|
|
NameHashEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
NamedArgExpr
|
2016-04-27 17:47:28 +02:00
|
|
|
NamedLWLockTranche
|
|
|
|
NamedLWLockTrancheRequest
|
2010-02-26 02:55:35 +01:00
|
|
|
NamespaceInfo
|
|
|
|
NestLoop
|
2011-04-09 05:11:37 +02:00
|
|
|
NestLoopParam
|
2010-02-26 02:55:35 +01:00
|
|
|
NestLoopState
|
|
|
|
NestPath
|
|
|
|
NewColumnValue
|
|
|
|
NewConstraint
|
2016-05-02 15:23:55 +02:00
|
|
|
NextSampleBlock_function
|
|
|
|
NextSampleTuple_function
|
2010-02-26 02:55:35 +01:00
|
|
|
Node
|
|
|
|
NodeTag
|
2012-06-10 21:15:31 +02:00
|
|
|
NonEmptyRange
|
2010-02-26 02:55:35 +01:00
|
|
|
Notification
|
|
|
|
NotifyStmt
|
|
|
|
Nsrt
|
|
|
|
NullIfExpr
|
|
|
|
NullTest
|
|
|
|
NullTestState
|
|
|
|
NullTestType
|
|
|
|
Numeric
|
2014-05-06 15:08:14 +02:00
|
|
|
NumericAggState
|
2010-02-26 02:55:35 +01:00
|
|
|
NumericDigit
|
2015-05-24 03:20:37 +02:00
|
|
|
NumericSortSupport
|
2016-12-13 16:51:32 +01:00
|
|
|
NumericSumAccum
|
2010-02-26 02:55:35 +01:00
|
|
|
NumericVar
|
2013-05-29 22:58:43 +02:00
|
|
|
OM_uint32
|
2010-02-26 02:55:35 +01:00
|
|
|
OP
|
2014-05-06 15:08:14 +02:00
|
|
|
OSAPerGroupState
|
|
|
|
OSAPerQueryState
|
2011-04-09 05:11:37 +02:00
|
|
|
OSInfo
|
2016-12-13 16:51:32 +01:00
|
|
|
OSSLCipher
|
2010-02-26 02:55:35 +01:00
|
|
|
OSSLDigest
|
|
|
|
OSVERSIONINFO
|
|
|
|
OVERLAPPED
|
2012-06-10 21:15:31 +02:00
|
|
|
ObjectAccessDrop
|
2013-05-29 22:58:43 +02:00
|
|
|
ObjectAccessNamespaceSearch
|
|
|
|
ObjectAccessPostAlter
|
|
|
|
ObjectAccessPostCreate
|
2011-04-09 05:11:37 +02:00
|
|
|
ObjectAccessType
|
2010-02-26 02:55:35 +01:00
|
|
|
ObjectAddress
|
|
|
|
ObjectAddressExtra
|
|
|
|
ObjectAddressStack
|
|
|
|
ObjectAddresses
|
|
|
|
ObjectClass
|
2011-11-14 18:12:23 +01:00
|
|
|
ObjectPropertyType
|
2010-02-26 02:55:35 +01:00
|
|
|
ObjectType
|
2016-12-28 18:00:00 +01:00
|
|
|
ObjectWithArgs
|
2010-02-26 02:55:35 +01:00
|
|
|
Offset
|
|
|
|
OffsetNumber
|
|
|
|
OffsetVarNodes_context
|
|
|
|
Oid
|
|
|
|
OidOptions
|
2013-05-29 22:58:43 +02:00
|
|
|
OkeysState
|
2011-04-09 05:11:37 +02:00
|
|
|
OldSerXidControl
|
2016-04-11 22:43:52 +02:00
|
|
|
OldSnapshotControlData
|
2010-02-26 02:55:35 +01:00
|
|
|
OldToNewMapping
|
|
|
|
OldToNewMappingData
|
|
|
|
OldTriggerInfo
|
|
|
|
Oldstyle_fnextra
|
|
|
|
OnCommitAction
|
|
|
|
OnCommitItem
|
2015-05-24 03:20:37 +02:00
|
|
|
OnConflictAction
|
|
|
|
OnConflictClause
|
|
|
|
OnConflictExpr
|
2011-11-14 18:12:23 +01:00
|
|
|
OpBtreeInterpretation
|
2010-02-26 02:55:35 +01:00
|
|
|
OpClassCacheEnt
|
|
|
|
OpExpr
|
|
|
|
OpFamilyMember
|
2016-04-27 17:47:28 +02:00
|
|
|
OpFamilyOpFuncGroup
|
2010-02-26 02:55:35 +01:00
|
|
|
OpclassInfo
|
|
|
|
Operator
|
2016-08-15 19:42:51 +02:00
|
|
|
OperatorElement
|
2010-02-26 02:55:35 +01:00
|
|
|
OpfamilyInfo
|
|
|
|
OprCacheEntry
|
|
|
|
OprCacheKey
|
|
|
|
OprInfo
|
|
|
|
OprProofCacheEntry
|
|
|
|
OprProofCacheKey
|
|
|
|
OutputContext
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
OutputPluginCallbacks
|
2014-05-06 15:08:14 +02:00
|
|
|
OutputPluginOptions
|
|
|
|
OutputPluginOutputType
|
2010-02-26 02:55:35 +01:00
|
|
|
OverrideSearchPath
|
|
|
|
OverrideStackEntry
|
|
|
|
PACE_HEADER
|
|
|
|
PACL
|
2017-01-24 22:42:58 +01:00
|
|
|
ParallelIndexScanDesc
|
|
|
|
ParallelIndexScanDescData
|
2010-02-26 02:55:35 +01:00
|
|
|
PATH
|
|
|
|
PBOOL
|
2011-04-09 05:11:37 +02:00
|
|
|
PCtxtHandle
|
2010-02-26 02:55:35 +01:00
|
|
|
PFN
|
|
|
|
PGAsyncStatusType
|
|
|
|
PGCALL2
|
2016-04-27 17:47:28 +02:00
|
|
|
PGContextVisibility
|
2010-02-26 02:55:35 +01:00
|
|
|
PGEvent
|
|
|
|
PGEventConnDestroy
|
|
|
|
PGEventConnReset
|
|
|
|
PGEventId
|
|
|
|
PGEventProc
|
|
|
|
PGEventRegister
|
|
|
|
PGEventResultCopy
|
|
|
|
PGEventResultCreate
|
|
|
|
PGEventResultDestroy
|
|
|
|
PGFInfoFunction
|
|
|
|
PGFunction
|
|
|
|
PGLZ_HistEntry
|
|
|
|
PGLZ_Strategy
|
|
|
|
PGMessageField
|
|
|
|
PGModuleMagicFunction
|
|
|
|
PGNoticeHooks
|
|
|
|
PGPROC
|
|
|
|
PGP_CFB
|
|
|
|
PGP_Context
|
|
|
|
PGP_MPI
|
|
|
|
PGP_PubKey
|
|
|
|
PGP_S2K
|
2011-04-09 05:11:37 +02:00
|
|
|
PGPing
|
2010-02-26 02:55:35 +01:00
|
|
|
PGQueryClass
|
|
|
|
PGRUsage
|
|
|
|
PGSemaphore
|
|
|
|
PGSemaphoreData
|
|
|
|
PGSetenvStatusType
|
|
|
|
PGShmemHeader
|
|
|
|
PGTransactionStatusType
|
|
|
|
PGVerbosity
|
2012-06-10 21:15:31 +02:00
|
|
|
PGXACT
|
2011-06-09 20:01:49 +02:00
|
|
|
PG_Locale_Strategy
|
2010-02-26 02:55:35 +01:00
|
|
|
PG_Lock_Status
|
|
|
|
PG_init_t
|
|
|
|
PGcancel
|
|
|
|
PGconn
|
2012-06-10 21:15:31 +02:00
|
|
|
PGdataValue
|
2010-02-26 02:55:35 +01:00
|
|
|
PGlobjfuncs
|
|
|
|
PGnotify
|
|
|
|
PGresAttDesc
|
|
|
|
PGresAttValue
|
|
|
|
PGresParamDesc
|
|
|
|
PGresult
|
|
|
|
PGresult_data
|
|
|
|
PHANDLE
|
|
|
|
PLAINTREE
|
|
|
|
PLTemplate
|
|
|
|
PLUID_AND_ATTRIBUTES
|
|
|
|
PLcword
|
|
|
|
PLpgSQL_arrayelem
|
|
|
|
PLpgSQL_case_when
|
|
|
|
PLpgSQL_condition
|
|
|
|
PLpgSQL_datum
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_datum_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_diag_item
|
|
|
|
PLpgSQL_exception
|
|
|
|
PLpgSQL_exception_block
|
|
|
|
PLpgSQL_execstate
|
|
|
|
PLpgSQL_expr
|
|
|
|
PLpgSQL_func_hashkey
|
|
|
|
PLpgSQL_function
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_getdiag_kind
|
2011-11-14 18:12:23 +01:00
|
|
|
PLpgSQL_if_elsif
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_label_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_nsitem
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_nsitem_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_plugin
|
|
|
|
PLpgSQL_raise_option
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_raise_option_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_rec
|
|
|
|
PLpgSQL_recfield
|
|
|
|
PLpgSQL_resolve_option
|
|
|
|
PLpgSQL_row
|
|
|
|
PLpgSQL_stmt
|
2015-05-24 03:20:37 +02:00
|
|
|
PLpgSQL_stmt_assert
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_stmt_assign
|
|
|
|
PLpgSQL_stmt_block
|
|
|
|
PLpgSQL_stmt_case
|
|
|
|
PLpgSQL_stmt_close
|
|
|
|
PLpgSQL_stmt_dynexecute
|
|
|
|
PLpgSQL_stmt_dynfors
|
|
|
|
PLpgSQL_stmt_execsql
|
|
|
|
PLpgSQL_stmt_exit
|
|
|
|
PLpgSQL_stmt_fetch
|
|
|
|
PLpgSQL_stmt_forc
|
2011-04-09 05:11:37 +02:00
|
|
|
PLpgSQL_stmt_foreach_a
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_stmt_fori
|
|
|
|
PLpgSQL_stmt_forq
|
|
|
|
PLpgSQL_stmt_fors
|
|
|
|
PLpgSQL_stmt_getdiag
|
|
|
|
PLpgSQL_stmt_if
|
|
|
|
PLpgSQL_stmt_loop
|
|
|
|
PLpgSQL_stmt_open
|
|
|
|
PLpgSQL_stmt_perform
|
|
|
|
PLpgSQL_stmt_raise
|
|
|
|
PLpgSQL_stmt_return
|
|
|
|
PLpgSQL_stmt_return_next
|
|
|
|
PLpgSQL_stmt_return_query
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_stmt_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_stmt_while
|
2013-05-29 22:58:43 +02:00
|
|
|
PLpgSQL_trigtype
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_type
|
2016-12-13 16:51:32 +01:00
|
|
|
PLpgSQL_type_type
|
2010-02-26 02:55:35 +01:00
|
|
|
PLpgSQL_var
|
|
|
|
PLpgSQL_variable
|
|
|
|
PLwdatum
|
|
|
|
PLword
|
2012-06-10 21:15:31 +02:00
|
|
|
PLyCursorObject
|
2010-02-26 02:55:35 +01:00
|
|
|
PLyDatumToOb
|
|
|
|
PLyDatumToObFunc
|
2011-04-09 05:11:37 +02:00
|
|
|
PLyExceptionEntry
|
2012-06-10 21:15:31 +02:00
|
|
|
PLyExecutionContext
|
2010-02-26 02:55:35 +01:00
|
|
|
PLyObToDatum
|
|
|
|
PLyObToDatumFunc
|
|
|
|
PLyObToTuple
|
2016-12-13 16:51:32 +01:00
|
|
|
PLyObject_AsString_t
|
2010-02-26 02:55:35 +01:00
|
|
|
PLyPlanObject
|
|
|
|
PLyProcedure
|
2011-04-09 05:11:37 +02:00
|
|
|
PLyProcedureEntry
|
2013-05-29 22:58:43 +02:00
|
|
|
PLyProcedureKey
|
2010-02-26 02:55:35 +01:00
|
|
|
PLyResultObject
|
2016-04-27 17:47:28 +02:00
|
|
|
PLySRFState
|
|
|
|
PLySavedArgs
|
2011-04-09 05:11:37 +02:00
|
|
|
PLySubtransactionData
|
|
|
|
PLySubtransactionObject
|
2010-02-26 02:55:35 +01:00
|
|
|
PLyTupleToOb
|
|
|
|
PLyTypeInfo
|
|
|
|
PLyTypeInput
|
|
|
|
PLyTypeOutput
|
2016-12-13 16:51:32 +01:00
|
|
|
PLyUnicode_FromStringAndSize_t
|
2011-04-09 05:11:37 +02:00
|
|
|
PMINIDUMP_CALLBACK_INFORMATION
|
|
|
|
PMINIDUMP_EXCEPTION_INFORMATION
|
|
|
|
PMINIDUMP_USER_STREAM_INFORMATION
|
2010-02-26 02:55:35 +01:00
|
|
|
PMSignalData
|
|
|
|
PMSignalReason
|
|
|
|
PMState
|
|
|
|
POLYGON
|
|
|
|
PQArgBlock
|
|
|
|
PQEnvironmentOption
|
|
|
|
PQExpBuffer
|
|
|
|
PQExpBufferData
|
2015-05-24 03:20:37 +02:00
|
|
|
PQcommMethods
|
2010-02-26 02:55:35 +01:00
|
|
|
PQconninfoOption
|
|
|
|
PQnoticeProcessor
|
|
|
|
PQnoticeReceiver
|
|
|
|
PQprintOpt
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
PREDICATELOCK
|
|
|
|
PREDICATELOCKTAG
|
|
|
|
PREDICATELOCKTARGET
|
|
|
|
PREDICATELOCKTARGETTAG
|
2010-02-26 02:55:35 +01:00
|
|
|
PROCESS_INFORMATION
|
|
|
|
PROCLOCK
|
|
|
|
PROCLOCKTAG
|
|
|
|
PROC_HDR
|
|
|
|
PROC_QUEUE
|
|
|
|
PSID
|
|
|
|
PSID_AND_ATTRIBUTES
|
2015-05-24 03:20:37 +02:00
|
|
|
PSQL_COMP_CASE
|
2010-02-26 02:55:35 +01:00
|
|
|
PSQL_ECHO
|
|
|
|
PSQL_ECHO_HIDDEN
|
|
|
|
PSQL_ERROR_ROLLBACK
|
|
|
|
PTOKEN_GROUPS
|
|
|
|
PTOKEN_USER
|
2016-12-13 16:51:32 +01:00
|
|
|
PUTENVPROC
|
2010-02-26 02:55:35 +01:00
|
|
|
PVOID
|
|
|
|
PX_Alias
|
|
|
|
PX_Cipher
|
|
|
|
PX_Combo
|
|
|
|
PX_HMAC
|
|
|
|
PX_MD
|
|
|
|
Page
|
2016-04-27 17:47:28 +02:00
|
|
|
PageData
|
2013-05-29 22:58:43 +02:00
|
|
|
PageGistNSN
|
2010-02-26 02:55:35 +01:00
|
|
|
PageHeader
|
|
|
|
PageHeaderData
|
2013-05-29 22:58:43 +02:00
|
|
|
PageXLogRecPtr
|
2010-02-26 02:55:35 +01:00
|
|
|
PagetableEntry
|
|
|
|
Pairs
|
2016-12-13 16:51:32 +01:00
|
|
|
ParallelCompletionPtr
|
2015-05-24 03:20:37 +02:00
|
|
|
ParallelContext
|
2016-04-27 17:47:28 +02:00
|
|
|
ParallelExecutorInfo
|
2016-05-02 15:23:55 +02:00
|
|
|
ParallelHeapScanDesc
|
2010-02-26 02:55:35 +01:00
|
|
|
ParallelSlot
|
2012-06-10 21:15:31 +02:00
|
|
|
ParallelState
|
2015-05-24 03:20:37 +02:00
|
|
|
ParallelWorkerInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
Param
|
|
|
|
ParamExecData
|
|
|
|
ParamExternData
|
|
|
|
ParamFetchHook
|
|
|
|
ParamKind
|
|
|
|
ParamListInfo
|
2012-06-10 21:15:31 +02:00
|
|
|
ParamPathInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
ParamRef
|
2012-06-10 21:15:31 +02:00
|
|
|
ParentMapEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
ParseCallbackState
|
2013-05-29 22:58:43 +02:00
|
|
|
ParseExprKind
|
|
|
|
ParseNamespaceItem
|
2010-02-26 02:55:35 +01:00
|
|
|
ParseParamRefHook
|
|
|
|
ParseState
|
|
|
|
ParsedLex
|
2016-04-27 17:47:28 +02:00
|
|
|
ParsedScript
|
2010-02-26 02:55:35 +01:00
|
|
|
ParsedText
|
|
|
|
ParsedWord
|
|
|
|
ParserSetupHook
|
|
|
|
ParserState
|
2016-12-13 16:51:32 +01:00
|
|
|
PartInfo
|
|
|
|
PartitionBoundInfo
|
Implement table partitioning.
Table partitioning is like table inheritance and reuses much of the
existing infrastructure, but there are some important differences.
The parent is called a partitioned table and is always empty; it may
not have indexes or non-inherited constraints, since those make no
sense for a relation with no data of its own. The children are called
partitions and contain all of the actual data. Each partition has an
implicit partitioning constraint. Multiple inheritance is not
allowed, and partitioning and inheritance can't be mixed. Partitions
can't have extra columns and may not allow nulls unless the parent
does. Tuples inserted into the parent are automatically routed to the
correct partition, so tuple-routing ON INSERT triggers are not needed.
Tuple routing isn't yet supported for partitions which are foreign
tables, and it doesn't handle updates that cross partition boundaries.
Currently, tables can be range-partitioned or list-partitioned. List
partitioning is limited to a single column, but range partitioning can
involve multiple columns. A partitioning "column" can be an
expression.
Because table partitioning is less general than table inheritance, it
is hoped that it will be easier to reason about properties of
partitions, and therefore that this will serve as a better foundation
for a variety of possible optimizations, including query planner
optimizations. The tuple routing based which this patch does based on
the implicit partitioning constraints is an example of this, but it
seems likely that many other useful optimizations are also possible.
Amit Langote, reviewed and tested by Robert Haas, Ashutosh Bapat,
Amit Kapila, Rajkumar Raghuwanshi, Corey Huinker, Jaime Casanova,
Rushabh Lathia, Erik Rijkers, among others. Minor revisions by me.
2016-12-07 19:17:43 +01:00
|
|
|
PartitionBoundInfoData
|
|
|
|
PartitionBoundSpec
|
|
|
|
PartitionCmd
|
2016-12-13 16:51:32 +01:00
|
|
|
PartitionDesc
|
|
|
|
PartitionDescData
|
|
|
|
PartitionDispatch
|
|
|
|
PartitionDispatchData
|
|
|
|
PartitionElem
|
|
|
|
PartitionKey
|
Implement table partitioning.
Table partitioning is like table inheritance and reuses much of the
existing infrastructure, but there are some important differences.
The parent is called a partitioned table and is always empty; it may
not have indexes or non-inherited constraints, since those make no
sense for a relation with no data of its own. The children are called
partitions and contain all of the actual data. Each partition has an
implicit partitioning constraint. Multiple inheritance is not
allowed, and partitioning and inheritance can't be mixed. Partitions
can't have extra columns and may not allow nulls unless the parent
does. Tuples inserted into the parent are automatically routed to the
correct partition, so tuple-routing ON INSERT triggers are not needed.
Tuple routing isn't yet supported for partitions which are foreign
tables, and it doesn't handle updates that cross partition boundaries.
Currently, tables can be range-partitioned or list-partitioned. List
partitioning is limited to a single column, but range partitioning can
involve multiple columns. A partitioning "column" can be an
expression.
Because table partitioning is less general than table inheritance, it
is hoped that it will be easier to reason about properties of
partitions, and therefore that this will serve as a better foundation
for a variety of possible optimizations, including query planner
optimizations. The tuple routing based which this patch does based on
the implicit partitioning constraints is an example of this, but it
seems likely that many other useful optimizations are also possible.
Amit Langote, reviewed and tested by Robert Haas, Ashutosh Bapat,
Amit Kapila, Rajkumar Raghuwanshi, Corey Huinker, Jaime Casanova,
Rushabh Lathia, Erik Rijkers, among others. Minor revisions by me.
2016-12-07 19:17:43 +01:00
|
|
|
PartitionListValue
|
|
|
|
PartitionRangeBound
|
2016-12-13 16:51:32 +01:00
|
|
|
PartitionRangeDatum
|
|
|
|
PartitionSpec
|
2010-02-26 02:55:35 +01:00
|
|
|
Path
|
|
|
|
PathClauseUsage
|
2012-06-10 21:15:31 +02:00
|
|
|
PathCostComparison
|
2014-05-06 15:08:14 +02:00
|
|
|
PathHashStack
|
2010-02-26 02:55:35 +01:00
|
|
|
PathKey
|
|
|
|
PathKeysComparison
|
2016-04-27 17:47:28 +02:00
|
|
|
PathTarget
|
2010-02-26 02:55:35 +01:00
|
|
|
Pattern_Prefix_Status
|
|
|
|
Pattern_Type
|
|
|
|
PendingOperationEntry
|
|
|
|
PendingRelDelete
|
|
|
|
PendingUnlinkEntry
|
Allow to trigger kernel writeback after a configurable number of writes.
Currently writes to the main data files of postgres all go through the
OS page cache. This means that some operating systems can end up
collecting a large number of dirty buffers in their respective page
caches. When these dirty buffers are flushed to storage rapidly, be it
because of fsync(), timeouts, or dirty ratios, latency for other reads
and writes can increase massively. This is the primary reason for
regular massive stalls observed in real world scenarios and artificial
benchmarks; on rotating disks stalls on the order of hundreds of seconds
have been observed.
On linux it is possible to control this by reducing the global dirty
limits significantly, reducing the above problem. But global
configuration is rather problematic because it'll affect other
applications; also PostgreSQL itself doesn't always generally want this
behavior, e.g. for temporary files it's undesirable.
Several operating systems allow some control over the kernel page
cache. Linux has sync_file_range(2), several posix systems have msync(2)
and posix_fadvise(2). sync_file_range(2) is preferable because it
requires no special setup, whereas msync() requires the to-be-flushed
range to be mmap'ed. For the purpose of flushing dirty data
posix_fadvise(2) is the worst alternative, as flushing dirty data is
just a side-effect of POSIX_FADV_DONTNEED, which also removes the pages
from the page cache. Thus the feature is enabled by default only on
linux, but can be enabled on all systems that have any of the above
APIs.
While desirable and likely possible this patch does not contain an
implementation for windows.
With the infrastructure added, writes made via checkpointer, bgwriter
and normal user backends can be flushed after a configurable number of
writes. Each of these sources of writes controlled by a separate GUC,
checkpointer_flush_after, bgwriter_flush_after and backend_flush_after
respectively; they're separate because the number of flushes that are
good are separate, and because the performance considerations of
controlled flushing for each of these are different.
A later patch will add checkpoint sorting - after that flushes from the
ckeckpoint will almost always be desirable. Bgwriter flushes are most of
the time going to be random, which are slow on lots of storage hardware.
Flushing in backends works well if the storage and bgwriter can keep up,
but if not it can have negative consequences. This patch is likely to
have negative performance consequences without checkpoint sorting, but
unfortunately so has sorting without flush control.
Discussion: alpine.DEB.2.10.1506011320000.28433@sto
Author: Fabien Coelho and Andres Freund
2016-02-19 21:13:05 +01:00
|
|
|
PendingWriteback
|
2010-02-26 02:55:35 +01:00
|
|
|
PerlInterpreter
|
2012-06-10 21:15:31 +02:00
|
|
|
Perl_ppaddr_t
|
2014-05-06 15:08:14 +02:00
|
|
|
Permutation
|
2015-05-24 03:20:37 +02:00
|
|
|
PgBackendSSLStatus
|
2010-02-26 02:55:35 +01:00
|
|
|
PgBackendStatus
|
2015-05-24 03:20:37 +02:00
|
|
|
PgBenchExpr
|
2016-05-02 15:23:55 +02:00
|
|
|
PgBenchExprLink
|
|
|
|
PgBenchExprList
|
2015-05-24 03:20:37 +02:00
|
|
|
PgBenchExprType
|
2016-04-27 17:47:28 +02:00
|
|
|
PgBenchFunction
|
|
|
|
PgBenchValue
|
|
|
|
PgBenchValueType
|
2013-05-29 22:58:43 +02:00
|
|
|
PgFdwAnalyzeState
|
2016-04-27 17:47:28 +02:00
|
|
|
PgFdwDirectModifyState
|
2013-05-29 22:58:43 +02:00
|
|
|
PgFdwModifyState
|
|
|
|
PgFdwOption
|
|
|
|
PgFdwRelationInfo
|
|
|
|
PgFdwScanState
|
2010-02-26 02:55:35 +01:00
|
|
|
PgIfAddrCallback
|
2014-05-06 15:08:14 +02:00
|
|
|
PgStat_ArchiverStats
|
2010-02-26 02:55:35 +01:00
|
|
|
PgStat_BackendFunctionEntry
|
|
|
|
PgStat_Counter
|
|
|
|
PgStat_FunctionCallUsage
|
|
|
|
PgStat_FunctionCounts
|
|
|
|
PgStat_FunctionEntry
|
|
|
|
PgStat_GlobalStats
|
|
|
|
PgStat_Msg
|
|
|
|
PgStat_MsgAnalyze
|
2014-05-06 15:08:14 +02:00
|
|
|
PgStat_MsgArchiver
|
2010-02-26 02:55:35 +01:00
|
|
|
PgStat_MsgAutovacStart
|
|
|
|
PgStat_MsgBgWriter
|
2012-06-10 21:15:31 +02:00
|
|
|
PgStat_MsgDeadlock
|
2010-02-26 02:55:35 +01:00
|
|
|
PgStat_MsgDropdb
|
|
|
|
PgStat_MsgDummy
|
|
|
|
PgStat_MsgFuncpurge
|
|
|
|
PgStat_MsgFuncstat
|
|
|
|
PgStat_MsgHdr
|
|
|
|
PgStat_MsgInquiry
|
2011-04-09 05:11:37 +02:00
|
|
|
PgStat_MsgRecoveryConflict
|
2010-02-26 02:55:35 +01:00
|
|
|
PgStat_MsgResetcounter
|
|
|
|
PgStat_MsgResetsharedcounter
|
|
|
|
PgStat_MsgResetsinglecounter
|
|
|
|
PgStat_MsgTabpurge
|
|
|
|
PgStat_MsgTabstat
|
2012-06-10 21:15:31 +02:00
|
|
|
PgStat_MsgTempFile
|
2010-02-26 02:55:35 +01:00
|
|
|
PgStat_MsgVacuum
|
|
|
|
PgStat_Shared_Reset_Target
|
|
|
|
PgStat_Single_Reset_Type
|
|
|
|
PgStat_StatDBEntry
|
|
|
|
PgStat_StatFuncEntry
|
|
|
|
PgStat_StatTabEntry
|
|
|
|
PgStat_SubXactStatus
|
|
|
|
PgStat_TableCounts
|
|
|
|
PgStat_TableEntry
|
|
|
|
PgStat_TableStatus
|
|
|
|
PgStat_TableXactStatus
|
2011-11-14 18:12:23 +01:00
|
|
|
PgXmlErrorContext
|
|
|
|
PgXmlStrictness
|
2010-02-26 02:55:35 +01:00
|
|
|
Pg_finfo_record
|
|
|
|
Pg_magic_struct
|
|
|
|
PipeProtoChunk
|
|
|
|
PipeProtoHeader
|
|
|
|
PlaceHolderInfo
|
|
|
|
PlaceHolderVar
|
|
|
|
Plan
|
2016-05-02 15:23:55 +02:00
|
|
|
PlanDirectModify_function
|
2013-05-29 22:58:43 +02:00
|
|
|
PlanForeignModify_function
|
2010-02-26 02:55:35 +01:00
|
|
|
PlanInvalItem
|
|
|
|
PlanRowMark
|
|
|
|
PlanState
|
|
|
|
PlannedStmt
|
|
|
|
PlannerGlobal
|
|
|
|
PlannerInfo
|
|
|
|
PlannerParamItem
|
|
|
|
Point
|
|
|
|
Pointer
|
2015-05-24 03:20:37 +02:00
|
|
|
PolicyInfo
|
|
|
|
PolyNumAggState
|
2010-02-26 02:55:35 +01:00
|
|
|
Pool
|
2013-05-29 22:58:43 +02:00
|
|
|
PopulateRecordsetState
|
2010-02-26 02:55:35 +01:00
|
|
|
Port
|
|
|
|
Portal
|
|
|
|
PortalHashEnt
|
|
|
|
PortalStatus
|
|
|
|
PortalStrategy
|
|
|
|
PostParseColumnRefHook
|
|
|
|
PostgresPollingStatusType
|
|
|
|
PostingItem
|
2014-05-06 15:08:14 +02:00
|
|
|
PostponedQual
|
2010-02-26 02:55:35 +01:00
|
|
|
PreParseColumnRefHook
|
|
|
|
PredClass
|
|
|
|
PredIterInfo
|
|
|
|
PredIterInfoData
|
2011-04-09 05:11:37 +02:00
|
|
|
PredXactList
|
|
|
|
PredXactListElement
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
PredicateLockData
|
2011-04-09 05:11:37 +02:00
|
|
|
PredicateLockTargetType
|
2010-02-26 02:55:35 +01:00
|
|
|
PrepareStmt
|
|
|
|
PreparedParamsData
|
|
|
|
PreparedStatement
|
2014-05-06 15:08:14 +02:00
|
|
|
PrewarmType
|
2010-02-26 02:55:35 +01:00
|
|
|
PrintExtraTocPtr
|
|
|
|
PrintTocDataPtr
|
2011-04-09 05:11:37 +02:00
|
|
|
PrintfArgType
|
|
|
|
PrintfArgValue
|
|
|
|
PrintfTarget
|
2010-02-26 02:55:35 +01:00
|
|
|
PrinttupAttrInfo
|
|
|
|
PrivTarget
|
2015-05-24 03:20:37 +02:00
|
|
|
PrivateRefCountEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
ProcArrayStruct
|
|
|
|
ProcLangInfo
|
|
|
|
ProcSignalReason
|
|
|
|
ProcSignalSlot
|
|
|
|
ProcState
|
2013-05-29 22:58:43 +02:00
|
|
|
ProcessUtilityContext
|
2010-02-26 02:55:35 +01:00
|
|
|
ProcessUtility_hook_type
|
|
|
|
ProcessingMode
|
2016-05-02 15:23:55 +02:00
|
|
|
ProgressCommandType
|
2010-02-26 02:55:35 +01:00
|
|
|
ProjectionInfo
|
2016-04-27 17:47:28 +02:00
|
|
|
ProjectionPath
|
2010-02-26 02:55:35 +01:00
|
|
|
ProtocolVersion
|
|
|
|
PrsStorage
|
|
|
|
PruneState
|
2016-04-27 17:47:28 +02:00
|
|
|
PsqlScanCallbacks
|
2010-02-26 02:55:35 +01:00
|
|
|
PsqlScanResult
|
|
|
|
PsqlScanState
|
|
|
|
PsqlScanStateData
|
|
|
|
PsqlSettings
|
|
|
|
PullFilter
|
|
|
|
PullFilterOps
|
|
|
|
PushFilter
|
|
|
|
PushFilterOps
|
|
|
|
PushFunction
|
2016-05-02 15:23:55 +02:00
|
|
|
PyCFunction
|
2011-04-09 05:11:37 +02:00
|
|
|
PyCodeObject
|
2012-06-10 21:15:31 +02:00
|
|
|
PyMappingMethods
|
2010-02-26 02:55:35 +01:00
|
|
|
PyMethodDef
|
2016-05-02 15:23:55 +02:00
|
|
|
PyModuleDef
|
2010-02-26 02:55:35 +01:00
|
|
|
PyObject
|
|
|
|
PySequenceMethods
|
|
|
|
PyTypeObject
|
|
|
|
Py_ssize_t
|
|
|
|
QPRS_STATE
|
|
|
|
QTN2QTState
|
|
|
|
QTNode
|
|
|
|
QUERYTYPE
|
|
|
|
QualCost
|
|
|
|
QualItem
|
|
|
|
Query
|
|
|
|
QueryDesc
|
|
|
|
QueryInfo
|
|
|
|
QueryItem
|
|
|
|
QueryItemType
|
|
|
|
QueryMode
|
|
|
|
QueryOperand
|
|
|
|
QueryOperator
|
|
|
|
QueryRepresentation
|
2016-04-27 17:47:28 +02:00
|
|
|
QueryRepresentationOperand
|
2010-02-26 02:55:35 +01:00
|
|
|
QuerySource
|
|
|
|
QueueBackendStatus
|
|
|
|
QueuePosition
|
|
|
|
RBNode
|
|
|
|
RBOrderControl
|
|
|
|
RBTree
|
2016-12-13 16:51:32 +01:00
|
|
|
RBTreeIterator
|
2011-04-09 05:11:37 +02:00
|
|
|
REPARSE_JUNCTION_DATA_BUFFER
|
2010-02-26 02:55:35 +01:00
|
|
|
RIX
|
|
|
|
RI_CompareHashEntry
|
|
|
|
RI_CompareKey
|
|
|
|
RI_ConstraintInfo
|
|
|
|
RI_QueryHashEntry
|
|
|
|
RI_QueryKey
|
|
|
|
RTEKind
|
2011-04-09 05:11:37 +02:00
|
|
|
RWConflict
|
|
|
|
RWConflictPoolHeader
|
2016-04-27 17:47:28 +02:00
|
|
|
Range
|
2011-11-14 18:12:23 +01:00
|
|
|
RangeBound
|
2016-04-27 17:47:28 +02:00
|
|
|
RangeBox
|
Implement table partitioning.
Table partitioning is like table inheritance and reuses much of the
existing infrastructure, but there are some important differences.
The parent is called a partitioned table and is always empty; it may
not have indexes or non-inherited constraints, since those make no
sense for a relation with no data of its own. The children are called
partitions and contain all of the actual data. Each partition has an
implicit partitioning constraint. Multiple inheritance is not
allowed, and partitioning and inheritance can't be mixed. Partitions
can't have extra columns and may not allow nulls unless the parent
does. Tuples inserted into the parent are automatically routed to the
correct partition, so tuple-routing ON INSERT triggers are not needed.
Tuple routing isn't yet supported for partitions which are foreign
tables, and it doesn't handle updates that cross partition boundaries.
Currently, tables can be range-partitioned or list-partitioned. List
partitioning is limited to a single column, but range partitioning can
involve multiple columns. A partitioning "column" can be an
expression.
Because table partitioning is less general than table inheritance, it
is hoped that it will be easier to reason about properties of
partitions, and therefore that this will serve as a better foundation
for a variety of possible optimizations, including query planner
optimizations. The tuple routing based which this patch does based on
the implicit partitioning constraints is an example of this, but it
seems likely that many other useful optimizations are also possible.
Amit Langote, reviewed and tested by Robert Haas, Ashutosh Bapat,
Amit Kapila, Rajkumar Raghuwanshi, Corey Huinker, Jaime Casanova,
Rushabh Lathia, Erik Rijkers, among others. Minor revisions by me.
2016-12-07 19:17:43 +01:00
|
|
|
RangeDatumContent
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeFunction
|
2012-06-10 21:15:31 +02:00
|
|
|
RangeIOData
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeQueryClause
|
2016-08-15 19:42:51 +02:00
|
|
|
RangeRemapInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeSubselect
|
2015-05-24 03:20:37 +02:00
|
|
|
RangeTableSample
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeTblEntry
|
2014-05-06 15:08:14 +02:00
|
|
|
RangeTblFunction
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeTblRef
|
2011-11-14 18:12:23 +01:00
|
|
|
RangeType
|
2010-02-26 02:55:35 +01:00
|
|
|
RangeVar
|
2012-06-10 21:15:31 +02:00
|
|
|
RangeVarGetRelidCallback
|
2010-02-26 02:55:35 +01:00
|
|
|
RawColumnDefault
|
2011-04-09 05:11:37 +02:00
|
|
|
ReScanForeignScan_function
|
2010-02-26 02:55:35 +01:00
|
|
|
ReadBufPtr
|
|
|
|
ReadBufferMode
|
|
|
|
ReadBytePtr
|
|
|
|
ReadExtraTocPtr
|
2011-04-09 05:11:37 +02:00
|
|
|
ReadFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
ReassignOwnedStmt
|
2016-05-02 15:23:55 +02:00
|
|
|
RecheckForeignScan_function
|
2010-02-26 02:55:35 +01:00
|
|
|
RecordCacheEntry
|
|
|
|
RecordCompareData
|
|
|
|
RecordIOData
|
2016-08-15 19:42:51 +02:00
|
|
|
RecordRemapInfo
|
|
|
|
RecordTypmodMap
|
2015-05-24 03:20:37 +02:00
|
|
|
RecoveryTargetAction
|
2010-07-06 21:18:19 +02:00
|
|
|
RecoveryTargetType
|
2016-04-27 17:47:28 +02:00
|
|
|
RectBox
|
2010-02-26 02:55:35 +01:00
|
|
|
RecursionContext
|
|
|
|
RecursiveUnion
|
2016-04-27 17:47:28 +02:00
|
|
|
RecursiveUnionPath
|
2010-02-26 02:55:35 +01:00
|
|
|
RecursiveUnionState
|
2015-05-24 03:20:37 +02:00
|
|
|
RefetchForeignRow_function
|
2013-05-29 22:58:43 +02:00
|
|
|
RefreshMatViewStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
RegProcedure
|
|
|
|
Regis
|
|
|
|
RegisNode
|
2013-05-29 22:58:43 +02:00
|
|
|
RegisteredBgWorker
|
2015-05-24 03:20:37 +02:00
|
|
|
ReindexObjectType
|
2010-02-26 02:55:35 +01:00
|
|
|
ReindexStmt
|
|
|
|
RelFileNode
|
2011-04-09 05:11:37 +02:00
|
|
|
RelFileNodeBackend
|
2010-02-26 02:55:35 +01:00
|
|
|
RelIdCacheEnt
|
2010-07-06 21:18:19 +02:00
|
|
|
RelInfo
|
|
|
|
RelInfoArr
|
2010-02-26 02:55:35 +01:00
|
|
|
RelMapFile
|
|
|
|
RelMapping
|
|
|
|
RelOptInfo
|
|
|
|
RelOptKind
|
|
|
|
RelToCheck
|
|
|
|
RelToCluster
|
|
|
|
RelabelType
|
|
|
|
Relation
|
|
|
|
RelationData
|
|
|
|
RelationPtr
|
|
|
|
RelativeTime
|
|
|
|
RelcacheCallbackFunction
|
2014-05-06 15:08:14 +02:00
|
|
|
RelfilenodeMapEntry
|
|
|
|
RelfilenodeMapKey
|
2010-02-26 02:55:35 +01:00
|
|
|
Relids
|
2011-11-14 18:12:23 +01:00
|
|
|
RelocationBufferInfo
|
2016-12-13 16:51:32 +01:00
|
|
|
RelptrFreePageBtree
|
|
|
|
RelptrFreePageManager
|
|
|
|
RelptrFreePageSpanLeader
|
2010-02-26 02:55:35 +01:00
|
|
|
RenameStmt
|
|
|
|
ReopenPtr
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
ReorderBuffer
|
|
|
|
ReorderBufferApplyChangeCB
|
|
|
|
ReorderBufferBeginCB
|
|
|
|
ReorderBufferChange
|
|
|
|
ReorderBufferCommitCB
|
|
|
|
ReorderBufferDiskChange
|
|
|
|
ReorderBufferIterTXNEntry
|
|
|
|
ReorderBufferIterTXNState
|
2016-05-02 15:23:55 +02:00
|
|
|
ReorderBufferMessageCB
|
2014-05-06 15:08:14 +02:00
|
|
|
ReorderBufferTXN
|
|
|
|
ReorderBufferTXNByIdEnt
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
ReorderBufferToastEnt
|
|
|
|
ReorderBufferTupleBuf
|
|
|
|
ReorderBufferTupleCidEnt
|
|
|
|
ReorderBufferTupleCidKey
|
2015-05-24 03:20:37 +02:00
|
|
|
ReorderTuple
|
|
|
|
RepOriginId
|
2013-05-29 22:58:43 +02:00
|
|
|
ReplaceVarsFromTargetList_context
|
|
|
|
ReplaceVarsNoMatchOption
|
2014-05-06 15:08:14 +02:00
|
|
|
ReplicaIdentityStmt
|
|
|
|
ReplicationKind
|
|
|
|
ReplicationSlot
|
|
|
|
ReplicationSlotCtlData
|
|
|
|
ReplicationSlotOnDisk
|
|
|
|
ReplicationSlotPersistency
|
|
|
|
ReplicationSlotPersistentData
|
2015-05-24 03:20:37 +02:00
|
|
|
ReplicationState
|
|
|
|
ReplicationStateCtl
|
|
|
|
ReplicationStateOnDisk
|
2010-02-26 02:55:35 +01:00
|
|
|
ResTarget
|
2015-05-24 03:20:37 +02:00
|
|
|
ReservoirState
|
|
|
|
ReservoirStateData
|
2016-04-27 17:47:28 +02:00
|
|
|
ResourceArray
|
2010-02-26 02:55:35 +01:00
|
|
|
ResourceOwner
|
|
|
|
ResourceReleaseCallback
|
|
|
|
ResourceReleaseCallbackItem
|
|
|
|
ResourceReleasePhase
|
|
|
|
RestoreOptions
|
|
|
|
RestrictInfo
|
|
|
|
Result
|
|
|
|
ResultPath
|
|
|
|
ResultRelInfo
|
|
|
|
ResultState
|
|
|
|
ReturnSetInfo
|
2015-05-24 03:20:37 +02:00
|
|
|
RevmapContents
|
2014-05-06 15:08:14 +02:00
|
|
|
RewriteMappingDataEntry
|
|
|
|
RewriteMappingFile
|
2010-02-26 02:55:35 +01:00
|
|
|
RewriteRule
|
|
|
|
RewriteState
|
|
|
|
RmgrData
|
2013-05-29 22:58:43 +02:00
|
|
|
RmgrDescData
|
2010-02-26 02:55:35 +01:00
|
|
|
RmgrId
|
2014-05-06 15:08:14 +02:00
|
|
|
RmgrIds
|
2015-05-24 03:20:37 +02:00
|
|
|
RoleSpec
|
|
|
|
RoleSpecType
|
2010-02-26 02:55:35 +01:00
|
|
|
RoleStmtType
|
|
|
|
RowCompareExpr
|
|
|
|
RowCompareExprState
|
|
|
|
RowCompareType
|
|
|
|
RowExpr
|
|
|
|
RowExprState
|
|
|
|
RowMarkClause
|
|
|
|
RowMarkType
|
2015-05-24 03:20:37 +02:00
|
|
|
RowSecurityDesc
|
|
|
|
RowSecurityPolicy
|
2010-02-26 02:55:35 +01:00
|
|
|
RuleInfo
|
|
|
|
RuleLock
|
|
|
|
RuleStmt
|
|
|
|
RunningTransactions
|
|
|
|
RunningTransactionsData
|
|
|
|
SC_HANDLE
|
|
|
|
SECURITY_ATTRIBUTES
|
2011-04-09 05:11:37 +02:00
|
|
|
SECURITY_STATUS
|
2010-02-26 02:55:35 +01:00
|
|
|
SEG
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
SERIALIZABLEXACT
|
|
|
|
SERIALIZABLEXID
|
|
|
|
SERIALIZABLEXIDTAG
|
2010-02-26 02:55:35 +01:00
|
|
|
SERVICE_STATUS
|
|
|
|
SERVICE_STATUS_HANDLE
|
|
|
|
SERVICE_TABLE_ENTRY
|
|
|
|
SHA1_CTX
|
|
|
|
SHA224_CTX
|
|
|
|
SHA256_CTX
|
|
|
|
SHA384_CTX
|
|
|
|
SHA512_CTX
|
|
|
|
SHM_QUEUE
|
|
|
|
SID_AND_ATTRIBUTES
|
|
|
|
SID_IDENTIFIER_AUTHORITY
|
|
|
|
SID_NAME_USE
|
|
|
|
SISeg
|
|
|
|
SMgrRelation
|
|
|
|
SMgrRelationData
|
2013-05-29 22:58:43 +02:00
|
|
|
SOCKADDR
|
2011-04-09 05:11:37 +02:00
|
|
|
SOCKET
|
2010-02-26 02:55:35 +01:00
|
|
|
SPELL
|
|
|
|
SPIPlanPtr
|
|
|
|
SPITupleTable
|
|
|
|
SPLITCOST
|
|
|
|
SPNode
|
|
|
|
SPNodeData
|
2012-06-10 21:15:31 +02:00
|
|
|
SPPageDesc
|
2013-05-29 22:58:43 +02:00
|
|
|
SQLDropObject
|
2010-02-26 02:55:35 +01:00
|
|
|
SQLFunctionCache
|
|
|
|
SQLFunctionCachePtr
|
2011-04-09 05:11:37 +02:00
|
|
|
SQLFunctionParseInfoPtr
|
2016-12-13 16:51:32 +01:00
|
|
|
SQLValueFunction
|
|
|
|
SQLValueFunctionOp
|
2010-02-26 02:55:35 +01:00
|
|
|
SSL
|
2016-04-27 17:47:28 +02:00
|
|
|
SSLExtensionInfoContext
|
2010-02-26 02:55:35 +01:00
|
|
|
SSL_CTX
|
|
|
|
STARTUPINFO
|
|
|
|
STRLEN
|
|
|
|
SV
|
2015-05-24 03:20:37 +02:00
|
|
|
SampleScan
|
2016-05-02 15:23:55 +02:00
|
|
|
SampleScanGetSampleSize_function
|
2015-05-24 03:20:37 +02:00
|
|
|
SampleScanState
|
|
|
|
SamplerRandomState
|
2010-02-26 02:55:35 +01:00
|
|
|
ScalarArrayOpExpr
|
|
|
|
ScalarArrayOpExprState
|
|
|
|
ScalarItem
|
|
|
|
ScalarMCVItem
|
|
|
|
Scan
|
|
|
|
ScanDirection
|
|
|
|
ScanKey
|
|
|
|
ScanKeyData
|
|
|
|
ScanKeyword
|
2012-06-10 21:15:31 +02:00
|
|
|
ScanStackEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
ScanState
|
|
|
|
ScanTypeControl
|
|
|
|
SchemaQuery
|
2011-04-09 05:11:37 +02:00
|
|
|
SecBuffer
|
|
|
|
SecBufferDesc
|
|
|
|
SecLabelItem
|
|
|
|
SecLabelStmt
|
2010-02-26 02:55:35 +01:00
|
|
|
SelectStmt
|
|
|
|
Selectivity
|
2012-06-10 21:15:31 +02:00
|
|
|
SemiAntiJoinFactors
|
2010-02-26 02:55:35 +01:00
|
|
|
SeqScan
|
|
|
|
SeqScanState
|
|
|
|
SeqTable
|
|
|
|
SeqTableData
|
2011-04-09 05:11:37 +02:00
|
|
|
SerCommitSeqNo
|
2015-05-24 03:20:37 +02:00
|
|
|
SerializedSnapshotData
|
2014-05-06 15:08:14 +02:00
|
|
|
Session
|
2010-02-26 02:55:35 +01:00
|
|
|
SetConstraintState
|
|
|
|
SetConstraintStateData
|
|
|
|
SetConstraintTriggerData
|
|
|
|
SetFunctionReturnMode
|
|
|
|
SetOp
|
|
|
|
SetOpCmd
|
2016-04-27 17:47:28 +02:00
|
|
|
SetOpPath
|
2010-02-26 02:55:35 +01:00
|
|
|
SetOpState
|
|
|
|
SetOpStatePerGroup
|
|
|
|
SetOpStrategy
|
|
|
|
SetOperation
|
|
|
|
SetOperationStmt
|
|
|
|
SetToDefault
|
2013-05-29 22:58:43 +02:00
|
|
|
SetupWorkerPtr
|
2016-04-27 17:47:28 +02:00
|
|
|
SharedDependencyObjectType
|
2010-02-26 02:55:35 +01:00
|
|
|
SharedDependencyType
|
2016-04-27 17:47:28 +02:00
|
|
|
SharedExecutorInstrumentation
|
2010-02-26 02:55:35 +01:00
|
|
|
SharedInvalCatalogMsg
|
|
|
|
SharedInvalCatcacheMsg
|
|
|
|
SharedInvalRelcacheMsg
|
|
|
|
SharedInvalRelmapMsg
|
|
|
|
SharedInvalSmgrMsg
|
2014-05-06 15:08:14 +02:00
|
|
|
SharedInvalSnapshotMsg
|
2010-02-26 02:55:35 +01:00
|
|
|
SharedInvalidationMessage
|
|
|
|
ShellTypeInfo
|
2016-04-27 17:47:28 +02:00
|
|
|
ShippableCacheEntry
|
|
|
|
ShippableCacheKey
|
2010-02-26 02:55:35 +01:00
|
|
|
ShmemIndexEnt
|
2012-06-10 21:15:31 +02:00
|
|
|
ShutdownInformation
|
2010-02-26 02:55:35 +01:00
|
|
|
ShutdownMode
|
|
|
|
SignTSVector
|
2016-04-27 17:47:28 +02:00
|
|
|
SimpleActionList
|
|
|
|
SimpleActionListCell
|
2010-02-26 02:55:35 +01:00
|
|
|
SimpleEcontextStackEntry
|
|
|
|
SimpleOidList
|
|
|
|
SimpleOidListCell
|
2016-04-27 17:47:28 +02:00
|
|
|
SimpleStats
|
2010-02-26 02:55:35 +01:00
|
|
|
SimpleStringList
|
|
|
|
SimpleStringListCell
|
2012-06-10 21:15:31 +02:00
|
|
|
SingleBoundSortItem
|
2010-02-26 02:55:35 +01:00
|
|
|
Size
|
Add "Slab" MemoryContext implementation for efficient equal-sized allocations.
The default general purpose aset.c style memory context is not a great
choice for allocations that are all going to be evenly sized,
especially when those objects aren't small, and have varying
lifetimes. There tends to be a lot of fragmentation, larger
allocations always directly go to libc rather than have their cost
amortized over several pallocs.
These problems lead to the introduction of ad-hoc slab allocators in
reorderbuffer.c. But it turns out that the simplistic implementation
leads to problems when a lot of objects are allocated and freed, as
aset.c is still the underlying implementation. Especially freeing can
easily run into O(n^2) behavior in aset.c.
While the O(n^2) behavior in aset.c can, and probably will, be
addressed, custom allocators for this behavior are more efficient
both in space and time.
This allocator is for evenly sized allocations, and supports both
cheap allocations and freeing, without fragmenting significantly. It
does so by allocating evenly sized blocks via malloc(), and carves
them into chunks that can be used for allocations. In order to
release blocks to the OS as early as possible, chunks are allocated
from the fullest block that still has free objects, increasing the
likelihood of a block being entirely unused.
A subsequent commit uses this in reorderbuffer.c, but a further
allocator is needed to resolve the performance problems triggering
this work.
There likely are further potentialy uses of this allocator besides
reorderbuffer.c.
There's potential further optimizations of the new slab.c, in
particular the array of freelists could be replaced by a more
intelligent structure - but for now this looks more than good enough.
Author: Tomas Vondra, editorialized by Andres Freund
Reviewed-By: Andres Freund, Petr Jelinek, Robert Haas, Jim Nasby
Discussion: https://postgr.es/m/d15dff83-0b37-28ed-0809-95a5cc7292ad@2ndquadrant.com
2017-02-27 12:41:44 +01:00
|
|
|
SlabBlock
|
|
|
|
SlabContext
|
|
|
|
SlabChunk
|
2016-12-13 16:51:32 +01:00
|
|
|
SlabSlot
|
2011-04-09 05:11:37 +02:00
|
|
|
SlotNumber
|
2010-02-26 02:55:35 +01:00
|
|
|
SlruCtl
|
|
|
|
SlruCtlData
|
|
|
|
SlruErrorCause
|
|
|
|
SlruFlush
|
|
|
|
SlruFlushData
|
|
|
|
SlruPageStatus
|
2011-11-14 18:12:23 +01:00
|
|
|
SlruScanCallback
|
2010-02-26 02:55:35 +01:00
|
|
|
SlruShared
|
|
|
|
SlruSharedData
|
2014-05-06 15:08:14 +02:00
|
|
|
SnapBuild
|
|
|
|
SnapBuildOnDisk
|
|
|
|
SnapBuildState
|
2010-02-26 02:55:35 +01:00
|
|
|
Snapshot
|
|
|
|
SnapshotData
|
|
|
|
SnapshotSatisfiesFunc
|
|
|
|
SockAddr
|
|
|
|
Sort
|
|
|
|
SortBy
|
|
|
|
SortByDir
|
|
|
|
SortByNulls
|
|
|
|
SortGroupClause
|
2016-04-27 17:47:28 +02:00
|
|
|
SortPath
|
2012-06-10 21:15:31 +02:00
|
|
|
SortShimExtra
|
2010-02-26 02:55:35 +01:00
|
|
|
SortState
|
2012-06-10 21:15:31 +02:00
|
|
|
SortSupport
|
|
|
|
SortSupportData
|
2010-02-26 02:55:35 +01:00
|
|
|
SortTuple
|
2012-06-10 21:15:31 +02:00
|
|
|
SortTupleComparator
|
|
|
|
SortedPoint
|
|
|
|
SpGistBuildState
|
|
|
|
SpGistCache
|
|
|
|
SpGistDeadTuple
|
|
|
|
SpGistDeadTupleData
|
|
|
|
SpGistInnerTuple
|
|
|
|
SpGistInnerTupleData
|
|
|
|
SpGistLUPCache
|
|
|
|
SpGistLastUsedPage
|
|
|
|
SpGistLeafTuple
|
|
|
|
SpGistLeafTupleData
|
|
|
|
SpGistMetaPageData
|
|
|
|
SpGistNodeTuple
|
|
|
|
SpGistNodeTupleData
|
|
|
|
SpGistPageOpaque
|
|
|
|
SpGistPageOpaqueData
|
|
|
|
SpGistScanOpaque
|
|
|
|
SpGistScanOpaqueData
|
|
|
|
SpGistState
|
|
|
|
SpGistTypeDesc
|
2010-02-26 02:55:35 +01:00
|
|
|
SpecialJoinInfo
|
Allow Pin/UnpinBuffer to operate in a lockfree manner.
Pinning/Unpinning a buffer is a very frequent operation; especially in
read-mostly cache resident workloads. Benchmarking shows that in various
scenarios the spinlock protecting a buffer header's state becomes a
significant bottleneck. The problem can be reproduced with pgbench -S on
larger machines, but can be considerably worse for queries which touch
the same buffers over and over at a high frequency (e.g. nested loops
over a small inner table).
To allow atomic operations to be used, cram BufferDesc's flags,
usage_count, buf_hdr_lock, refcount into a single 32bit atomic variable;
that allows to manipulate them together using 32bit compare-and-swap
operations. This requires reducing MAX_BACKENDS to 2^18-1 (which could
be lifted by using a 64bit field, but it's not a realistic configuration
atm).
As not all operations can easily implemented in a lockfree manner,
implement the previous buf_hdr_lock via a flag bit in the atomic
variable. That way we can continue to lock the header in places where
it's needed, but can get away without acquiring it in the more frequent
hot-paths. There's some additional operations which can be done without
the lock, but aren't in this patch; but the most important places are
covered.
As bufmgr.c now essentially re-implements spinlocks, abstract the delay
logic from s_lock.c into something more generic. It now has already two
users, and more are coming up; there's a follupw patch for lwlock.c at
least.
This patch is based on a proof-of-concept written by me, which Alexander
Korotkov made into a fully working patch; the committed version is again
revised by me. Benchmarking and testing has, amongst others, been
provided by Dilip Kumar, Alexander Korotkov, Robert Haas.
On a large x86 system improvements for readonly pgbench, with a high
client count, of a factor of 8 have been observed.
Author: Alexander Korotkov and Andres Freund
Discussion: 2400449.GjM57CE0Yg@dinodell
2016-04-11 05:12:32 +02:00
|
|
|
SpinDelayStatus
|
2011-11-14 18:12:23 +01:00
|
|
|
SplitInterval
|
2012-06-10 21:15:31 +02:00
|
|
|
SplitLR
|
2010-02-26 02:55:35 +01:00
|
|
|
SplitVar
|
|
|
|
SplitedPageLayout
|
|
|
|
StackElem
|
|
|
|
StartBlobPtr
|
|
|
|
StartBlobsPtr
|
|
|
|
StartDataPtr
|
2011-04-09 05:11:37 +02:00
|
|
|
StartReplicationCmd
|
2010-02-26 02:55:35 +01:00
|
|
|
StartupPacket
|
2016-04-27 17:47:28 +02:00
|
|
|
StartupStatusEnum
|
2010-02-26 02:55:35 +01:00
|
|
|
StatEntry
|
|
|
|
StatMsgType
|
2015-05-24 03:20:37 +02:00
|
|
|
StateFileChunk
|
|
|
|
Stats
|
2016-04-27 17:47:28 +02:00
|
|
|
StatsData
|
2010-02-26 02:55:35 +01:00
|
|
|
StdAnalyzeData
|
|
|
|
StdRdOptions
|
2014-05-06 15:08:14 +02:00
|
|
|
Step
|
2010-02-26 02:55:35 +01:00
|
|
|
StopList
|
|
|
|
StrategyNumber
|
2016-04-27 17:47:28 +02:00
|
|
|
StreamCtl
|
2010-02-26 02:55:35 +01:00
|
|
|
StringInfo
|
|
|
|
StringInfoData
|
2015-05-24 03:20:37 +02:00
|
|
|
StripnullState
|
2010-02-26 02:55:35 +01:00
|
|
|
SubLink
|
|
|
|
SubLinkType
|
|
|
|
SubPlan
|
|
|
|
SubPlanState
|
|
|
|
SubTransactionId
|
|
|
|
SubXactCallback
|
|
|
|
SubXactCallbackItem
|
|
|
|
SubXactEvent
|
|
|
|
SubqueryScan
|
2016-04-27 17:47:28 +02:00
|
|
|
SubqueryScanPath
|
2010-02-26 02:55:35 +01:00
|
|
|
SubqueryScanState
|
|
|
|
Syn
|
2016-04-27 17:47:28 +02:00
|
|
|
SyncRepConfigData
|
2010-02-26 02:55:35 +01:00
|
|
|
SysScanDesc
|
|
|
|
SyscacheCallbackFunction
|
2016-04-27 17:47:28 +02:00
|
|
|
SystemRowsSamplerData
|
2015-05-24 03:20:37 +02:00
|
|
|
SystemSamplerData
|
2016-04-27 17:47:28 +02:00
|
|
|
SystemTimeSamplerData
|
2010-02-26 02:55:35 +01:00
|
|
|
TAR_MEMBER
|
|
|
|
TBMIterateResult
|
|
|
|
TBMIterator
|
|
|
|
TBMStatus
|
|
|
|
TBlockState
|
|
|
|
TIDBitmap
|
|
|
|
TOKEN_DEFAULT_DACL
|
|
|
|
TOKEN_INFORMATION_CLASS
|
|
|
|
TOKEN_USER
|
|
|
|
TParser
|
|
|
|
TParserCharTest
|
|
|
|
TParserPosition
|
|
|
|
TParserSpecial
|
|
|
|
TParserState
|
|
|
|
TParserStateAction
|
|
|
|
TParserStateActionItem
|
2016-05-02 15:23:55 +02:00
|
|
|
TQueueDestReceiver
|
2010-02-26 02:55:35 +01:00
|
|
|
TRGM
|
|
|
|
TSAnyCacheEntry
|
|
|
|
TSConfigCacheEntry
|
|
|
|
TSConfigInfo
|
|
|
|
TSDictInfo
|
|
|
|
TSDictionaryCacheEntry
|
|
|
|
TSLexeme
|
|
|
|
TSParserCacheEntry
|
|
|
|
TSParserInfo
|
|
|
|
TSQuery
|
|
|
|
TSQueryData
|
|
|
|
TSQueryParserState
|
|
|
|
TSQuerySign
|
|
|
|
TSReadPointer
|
|
|
|
TSTemplateInfo
|
|
|
|
TSTokenTypeStorage
|
|
|
|
TSVector
|
|
|
|
TSVectorData
|
|
|
|
TSVectorParseState
|
|
|
|
TSVectorStat
|
|
|
|
TState
|
|
|
|
TStoreState
|
|
|
|
TTOffList
|
|
|
|
TYPCATEGORY
|
2013-05-29 22:58:43 +02:00
|
|
|
T_Action
|
|
|
|
T_WorkerStatus
|
2010-02-26 02:55:35 +01:00
|
|
|
TabStatusArray
|
|
|
|
TableDataInfo
|
|
|
|
TableInfo
|
2012-06-10 21:15:31 +02:00
|
|
|
TableLikeClause
|
2015-05-24 03:20:37 +02:00
|
|
|
TableSampleClause
|
2010-02-26 02:55:35 +01:00
|
|
|
TableSpaceCacheEntry
|
|
|
|
TableSpaceOpts
|
2014-05-06 15:08:14 +02:00
|
|
|
TablespaceList
|
|
|
|
TablespaceListCell
|
2016-12-13 16:51:32 +01:00
|
|
|
TarMethodData
|
|
|
|
TarMethodFile
|
2010-02-26 02:55:35 +01:00
|
|
|
TargetEntry
|
2016-04-27 17:47:28 +02:00
|
|
|
TclExceptionNameMap
|
2010-02-26 02:55:35 +01:00
|
|
|
Tcl_DString
|
|
|
|
Tcl_FileProc
|
|
|
|
Tcl_HashEntry
|
|
|
|
Tcl_HashTable
|
|
|
|
Tcl_Interp
|
|
|
|
Tcl_NotifierProcs
|
2016-04-27 17:47:28 +02:00
|
|
|
Tcl_Obj
|
2010-02-26 02:55:35 +01:00
|
|
|
Tcl_Time
|
2014-05-06 15:08:14 +02:00
|
|
|
TestDecodingData
|
|
|
|
TestSpec
|
2010-02-26 02:55:35 +01:00
|
|
|
TextFreq
|
|
|
|
TextPositionState
|
|
|
|
TheLexeme
|
|
|
|
TheSubstitute
|
|
|
|
TidHashKey
|
|
|
|
TidPath
|
|
|
|
TidScan
|
|
|
|
TidScanState
|
|
|
|
TimeADT
|
|
|
|
TimeInterval
|
|
|
|
TimeIntervalData
|
2013-05-29 22:58:43 +02:00
|
|
|
TimeLineHistoryCmd
|
|
|
|
TimeLineHistoryEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
TimeLineID
|
|
|
|
TimeOffset
|
2011-04-09 05:11:37 +02:00
|
|
|
TimeStamp
|
2010-02-26 02:55:35 +01:00
|
|
|
TimeTzADT
|
2011-04-09 05:11:37 +02:00
|
|
|
TimeZoneAbbrevTable
|
2013-05-29 22:58:43 +02:00
|
|
|
TimeoutId
|
|
|
|
TimeoutType
|
2010-02-26 02:55:35 +01:00
|
|
|
Timestamp
|
|
|
|
TimestampTz
|
|
|
|
TmFromChar
|
|
|
|
TmToChar
|
|
|
|
TocEntry
|
|
|
|
TokenAuxData
|
|
|
|
TrackItem
|
|
|
|
TransInvalidationInfo
|
|
|
|
TransState
|
|
|
|
TransactionId
|
|
|
|
TransactionState
|
|
|
|
TransactionStateData
|
|
|
|
TransactionStmt
|
|
|
|
TransactionStmtKind
|
2015-05-24 03:20:37 +02:00
|
|
|
TransformInfo
|
2013-05-29 22:58:43 +02:00
|
|
|
TrgmArc
|
|
|
|
TrgmArcInfo
|
|
|
|
TrgmColor
|
|
|
|
TrgmColorInfo
|
|
|
|
TrgmNFA
|
|
|
|
TrgmPackArcInfo
|
|
|
|
TrgmPackedArc
|
|
|
|
TrgmPackedGraph
|
|
|
|
TrgmPackedState
|
|
|
|
TrgmPrefix
|
|
|
|
TrgmState
|
|
|
|
TrgmStateKey
|
|
|
|
TrieChar
|
2010-02-26 02:55:35 +01:00
|
|
|
Trigger
|
|
|
|
TriggerData
|
|
|
|
TriggerDesc
|
|
|
|
TriggerEvent
|
|
|
|
TriggerFlags
|
|
|
|
TriggerInfo
|
2016-12-13 16:51:32 +01:00
|
|
|
TriggerTransition
|
2010-02-26 02:55:35 +01:00
|
|
|
TruncateStmt
|
2016-04-27 17:47:28 +02:00
|
|
|
TsmRoutine
|
2010-02-26 02:55:35 +01:00
|
|
|
TupOutputState
|
|
|
|
TupSortStatus
|
|
|
|
TupStoreStatus
|
|
|
|
TupleConstr
|
|
|
|
TupleConversionMap
|
|
|
|
TupleDesc
|
|
|
|
TupleHashEntry
|
|
|
|
TupleHashEntryData
|
|
|
|
TupleHashIterator
|
|
|
|
TupleHashTable
|
Modify tqueue infrastructure to support transient record types.
Commit 4a4e6893aa080b9094dadbe0e65f8a75fee41ac6, which introduced this
mechanism, failed to account for the fact that the RECORD pseudo-type
uses transient typmods that are only meaningful within a single
backend. Transferring such tuples without modification between two
cooperating backends does not work. This commit installs a system
for passing the tuple descriptors over the same shm_mq being used to
send the tuples themselves. The two sides might not assign the same
transient typmod to any given tuple descriptor, so we must also
substitute the appropriate receiver-side typmod for the one used by
the sender. That adds some CPU overhead, but still seems better than
being unable to pass records between cooperating parallel processes.
Along the way, move the logic for handling multiple tuple queues from
tqueue.c to nodeGather.c; tqueue.c now provides a TupleQueueReader,
which reads from a single queue, rather than a TupleQueueFunnel, which
potentially reads from multiple queues. This change was suggested
previously as a way to make sure that nodeGather.c rather than tqueue.c
had policy control over the order in which to read from queues, but
it wasn't clear to me until now how good an idea it was. typmod
mapping needs to be performed separately for each queue, and it is
much simpler if the tqueue.c code handles that and leaves multiplexing
multiple queues to higher layers of the stack.
2015-11-06 22:58:45 +01:00
|
|
|
TupleQueueReader
|
2016-08-15 19:42:51 +02:00
|
|
|
TupleRemapClass
|
|
|
|
TupleRemapInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
TupleTableSlot
|
|
|
|
Tuplesortstate
|
|
|
|
Tuplestorestate
|
|
|
|
TwoPhaseCallback
|
|
|
|
TwoPhaseFileHeader
|
|
|
|
TwoPhaseLockRecord
|
|
|
|
TwoPhasePgStatRecord
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
TwoPhasePredicateLockRecord
|
|
|
|
TwoPhasePredicateRecord
|
2011-04-09 05:11:37 +02:00
|
|
|
TwoPhasePredicateRecordType
|
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
2011-02-07 22:46:51 +01:00
|
|
|
TwoPhasePredicateXactRecord
|
2010-02-26 02:55:35 +01:00
|
|
|
TwoPhaseRecordOnDisk
|
|
|
|
TwoPhaseRmgrId
|
|
|
|
TwoPhaseStateData
|
|
|
|
TxidEpoch
|
|
|
|
TxidSnapshot
|
|
|
|
Type
|
|
|
|
TypeCacheEntry
|
2011-04-09 05:11:37 +02:00
|
|
|
TypeCacheEnumData
|
2010-02-26 02:55:35 +01:00
|
|
|
TypeCast
|
|
|
|
TypeFuncClass
|
|
|
|
TypeInfo
|
|
|
|
TypeName
|
|
|
|
U32
|
|
|
|
U8
|
|
|
|
UINT
|
|
|
|
ULARGE_INTEGER
|
|
|
|
ULONG
|
|
|
|
ULONG_PTR
|
|
|
|
UV
|
|
|
|
Unique
|
|
|
|
UniquePath
|
|
|
|
UniquePathMethod
|
|
|
|
UniqueState
|
|
|
|
UnlistenStmt
|
|
|
|
UnresolvedTup
|
|
|
|
UnresolvedTupData
|
|
|
|
UpdateStmt
|
2016-04-27 17:47:28 +02:00
|
|
|
UpperRelationKind
|
|
|
|
UpperUniquePath
|
2010-02-26 02:55:35 +01:00
|
|
|
UserAuth
|
|
|
|
UserMapping
|
2011-04-09 05:11:37 +02:00
|
|
|
UserOpts
|
2010-02-26 02:55:35 +01:00
|
|
|
VacAttrStats
|
|
|
|
VacAttrStatsP
|
2015-05-24 03:20:37 +02:00
|
|
|
VacuumParams
|
2010-02-26 02:55:35 +01:00
|
|
|
VacuumStmt
|
|
|
|
Value
|
|
|
|
ValuesScan
|
|
|
|
ValuesScanState
|
|
|
|
Var
|
|
|
|
VarBit
|
|
|
|
VarChar
|
|
|
|
VarParamState
|
2016-05-02 15:23:55 +02:00
|
|
|
VarString
|
2016-04-27 17:47:28 +02:00
|
|
|
VarStringSortSupport
|
2010-02-26 02:55:35 +01:00
|
|
|
Variable
|
|
|
|
VariableAssignHook
|
|
|
|
VariableCache
|
|
|
|
VariableCacheData
|
|
|
|
VariableSetKind
|
|
|
|
VariableSetStmt
|
|
|
|
VariableShowStmt
|
|
|
|
VariableSpace
|
|
|
|
VariableStatData
|
|
|
|
Vfd
|
2014-05-06 15:08:14 +02:00
|
|
|
ViewCheckOption
|
2014-07-14 23:24:40 +02:00
|
|
|
ViewOptions
|
2010-02-26 02:55:35 +01:00
|
|
|
ViewStmt
|
|
|
|
VirtualTransactionId
|
|
|
|
Vsrt
|
2011-04-09 05:11:37 +02:00
|
|
|
WAITORTIMERCALLBACK
|
2010-02-26 02:55:35 +01:00
|
|
|
WAIT_ORDER
|
2014-05-06 15:08:14 +02:00
|
|
|
WALInsertLock
|
|
|
|
WALInsertLockPadded
|
2010-02-26 02:55:35 +01:00
|
|
|
WCHAR
|
2015-05-24 03:20:37 +02:00
|
|
|
WCOKind
|
2016-12-13 16:51:32 +01:00
|
|
|
WFW_WaitOption
|
2014-05-06 15:08:14 +02:00
|
|
|
WIDGET
|
2010-02-26 02:55:35 +01:00
|
|
|
WIN32_FILE_ATTRIBUTE_DATA
|
|
|
|
WORD
|
|
|
|
WORKSTATE
|
2011-04-09 05:11:37 +02:00
|
|
|
WSABUF
|
|
|
|
WSADATA
|
|
|
|
WSANETWORKEVENTS
|
|
|
|
WSAPROTOCOL_INFO
|
2016-04-27 17:47:28 +02:00
|
|
|
WaitEvent
|
2016-12-13 16:51:32 +01:00
|
|
|
WaitEventActivity
|
|
|
|
WaitEventClient
|
|
|
|
WaitEventIPC
|
2016-04-27 17:47:28 +02:00
|
|
|
WaitEventSet
|
2016-12-13 16:51:32 +01:00
|
|
|
WaitEventTimeout
|
|
|
|
WalCloseMethod
|
2010-07-06 21:18:19 +02:00
|
|
|
WalLevel
|
2010-02-26 02:55:35 +01:00
|
|
|
WalRcvData
|
|
|
|
WalRcvState
|
2016-12-13 16:51:32 +01:00
|
|
|
WalReceiverConn
|
|
|
|
WalReceiverFunctionsType
|
2010-02-26 02:55:35 +01:00
|
|
|
WalSnd
|
|
|
|
WalSndCtlData
|
2014-03-10 18:50:28 +01:00
|
|
|
WalSndSendDataCallback
|
2011-04-09 05:11:37 +02:00
|
|
|
WalSndState
|
2016-12-13 16:51:32 +01:00
|
|
|
WalWriteMethod
|
|
|
|
Walfile
|
2013-05-29 22:58:43 +02:00
|
|
|
WholeRowVarExprState
|
2010-02-26 02:55:35 +01:00
|
|
|
WindowAgg
|
2016-04-27 17:47:28 +02:00
|
|
|
WindowAggPath
|
2010-02-26 02:55:35 +01:00
|
|
|
WindowAggState
|
|
|
|
WindowClause
|
|
|
|
WindowDef
|
|
|
|
WindowFunc
|
|
|
|
WindowFuncExprState
|
|
|
|
WindowFuncLists
|
|
|
|
WindowObject
|
|
|
|
WindowObjectData
|
|
|
|
WindowStatePerAgg
|
|
|
|
WindowStatePerAggData
|
|
|
|
WindowStatePerFunc
|
2014-05-06 15:08:14 +02:00
|
|
|
WithCheckOption
|
2010-02-26 02:55:35 +01:00
|
|
|
WithClause
|
|
|
|
WordEntry
|
|
|
|
WordEntryIN
|
|
|
|
WordEntryPos
|
|
|
|
WordEntryPosVector
|
2015-05-24 03:20:37 +02:00
|
|
|
WordEntryPosVector1
|
2010-02-26 02:55:35 +01:00
|
|
|
WorkTableScan
|
|
|
|
WorkTableScanState
|
|
|
|
WorkerInfo
|
2013-05-29 22:58:43 +02:00
|
|
|
WorkerInfoData
|
2016-04-27 17:47:28 +02:00
|
|
|
WorkerInstrumentation
|
2013-05-29 22:58:43 +02:00
|
|
|
WorkerJobDumpPtr
|
|
|
|
WorkerJobRestorePtr
|
2010-02-26 02:55:35 +01:00
|
|
|
Working_State
|
|
|
|
WriteBufPtr
|
|
|
|
WriteBytePtr
|
|
|
|
WriteDataPtr
|
|
|
|
WriteExtraTocPtr
|
2011-04-09 05:11:37 +02:00
|
|
|
WriteFunc
|
Allow to trigger kernel writeback after a configurable number of writes.
Currently writes to the main data files of postgres all go through the
OS page cache. This means that some operating systems can end up
collecting a large number of dirty buffers in their respective page
caches. When these dirty buffers are flushed to storage rapidly, be it
because of fsync(), timeouts, or dirty ratios, latency for other reads
and writes can increase massively. This is the primary reason for
regular massive stalls observed in real world scenarios and artificial
benchmarks; on rotating disks stalls on the order of hundreds of seconds
have been observed.
On linux it is possible to control this by reducing the global dirty
limits significantly, reducing the above problem. But global
configuration is rather problematic because it'll affect other
applications; also PostgreSQL itself doesn't always generally want this
behavior, e.g. for temporary files it's undesirable.
Several operating systems allow some control over the kernel page
cache. Linux has sync_file_range(2), several posix systems have msync(2)
and posix_fadvise(2). sync_file_range(2) is preferable because it
requires no special setup, whereas msync() requires the to-be-flushed
range to be mmap'ed. For the purpose of flushing dirty data
posix_fadvise(2) is the worst alternative, as flushing dirty data is
just a side-effect of POSIX_FADV_DONTNEED, which also removes the pages
from the page cache. Thus the feature is enabled by default only on
linux, but can be enabled on all systems that have any of the above
APIs.
While desirable and likely possible this patch does not contain an
implementation for windows.
With the infrastructure added, writes made via checkpointer, bgwriter
and normal user backends can be flushed after a configurable number of
writes. Each of these sources of writes controlled by a separate GUC,
checkpointer_flush_after, bgwriter_flush_after and backend_flush_after
respectively; they're separate because the number of flushes that are
good are separate, and because the performance considerations of
controlled flushing for each of these are different.
A later patch will add checkpoint sorting - after that flushes from the
ckeckpoint will almost always be desirable. Bgwriter flushes are most of
the time going to be random, which are slow on lots of storage hardware.
Flushing in backends works well if the storage and bgwriter can keep up,
but if not it can have negative consequences. This patch is likely to
have negative performance consequences without checkpoint sorting, but
unfortunately so has sorting without flush control.
Discussion: alpine.DEB.2.10.1506011320000.28433@sto
Author: Fabien Coelho and Andres Freund
2016-02-19 21:13:05 +01:00
|
|
|
WritebackContext
|
2010-02-26 02:55:35 +01:00
|
|
|
X509
|
2016-05-02 15:23:55 +02:00
|
|
|
X509_EXTENSION
|
2010-02-26 02:55:35 +01:00
|
|
|
X509_NAME
|
|
|
|
X509_NAME_ENTRY
|
|
|
|
X509_STORE
|
|
|
|
X509_STORE_CTX
|
2014-05-06 15:08:14 +02:00
|
|
|
XLTW_Oper
|
2010-02-26 02:55:35 +01:00
|
|
|
XLogCtlData
|
|
|
|
XLogCtlInsert
|
2013-05-29 22:58:43 +02:00
|
|
|
XLogDumpConfig
|
|
|
|
XLogDumpPrivate
|
2015-05-24 03:20:37 +02:00
|
|
|
XLogDumpStats
|
2010-02-26 02:55:35 +01:00
|
|
|
XLogLongPageHeader
|
|
|
|
XLogLongPageHeaderData
|
|
|
|
XLogPageHeader
|
|
|
|
XLogPageHeaderData
|
2013-05-29 22:58:43 +02:00
|
|
|
XLogPageReadCB
|
|
|
|
XLogPageReadPrivate
|
|
|
|
XLogReaderState
|
2010-02-26 02:55:35 +01:00
|
|
|
XLogRecData
|
|
|
|
XLogRecPtr
|
|
|
|
XLogRecord
|
2015-05-24 03:20:37 +02:00
|
|
|
XLogRecordBlockCompressHeader
|
|
|
|
XLogRecordBlockHeader
|
|
|
|
XLogRecordBlockImageHeader
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
XLogRecordBuffer
|
2015-05-24 03:20:37 +02:00
|
|
|
XLogRedoAction
|
2013-05-29 22:58:43 +02:00
|
|
|
XLogSegNo
|
|
|
|
XLogSource
|
2010-02-26 02:55:35 +01:00
|
|
|
XLogwrtResult
|
|
|
|
XLogwrtRqst
|
|
|
|
XPVIV
|
|
|
|
XactCallback
|
|
|
|
XactCallbackItem
|
|
|
|
XactEvent
|
2014-05-06 15:08:14 +02:00
|
|
|
XactLockTableWaitInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
XidStatus
|
|
|
|
XmlExpr
|
|
|
|
XmlExprOp
|
|
|
|
XmlExprState
|
|
|
|
XmlOptionType
|
|
|
|
XmlSerialize
|
|
|
|
YYLTYPE
|
|
|
|
YYSTYPE
|
|
|
|
YY_BUFFER_STATE
|
|
|
|
_SPI_connection
|
|
|
|
_SPI_plan
|
|
|
|
__AssignProcessToJobObject
|
|
|
|
__CreateJobObject
|
|
|
|
__CreateRestrictedToken
|
|
|
|
__IsProcessInJob
|
|
|
|
__QueryInformationJobObject
|
2011-04-09 05:11:37 +02:00
|
|
|
__RegisterWaitForSingleObject
|
2010-02-26 02:55:35 +01:00
|
|
|
__SetInformationJobObject
|
2014-05-06 15:08:14 +02:00
|
|
|
_resultmap
|
|
|
|
_stringlist
|
|
|
|
acquireLocksOnSubLinks_context
|
2012-06-10 21:15:31 +02:00
|
|
|
adjust_appendrel_attrs_context
|
2011-04-09 05:11:37 +02:00
|
|
|
allocfunc
|
2016-05-02 15:23:55 +02:00
|
|
|
ambeginscan_function
|
|
|
|
ambuild_function
|
|
|
|
ambuildempty_function
|
|
|
|
ambulkdelete_function
|
|
|
|
amcanreturn_function
|
|
|
|
amcostestimate_function
|
|
|
|
amendscan_function
|
|
|
|
amgetbitmap_function
|
|
|
|
amgettuple_function
|
|
|
|
aminsert_function
|
|
|
|
ammarkpos_function
|
|
|
|
amoptions_function
|
2016-08-15 19:42:51 +02:00
|
|
|
amproperty_function
|
2016-05-02 15:23:55 +02:00
|
|
|
amrescan_function
|
|
|
|
amrestrpos_function
|
|
|
|
amvacuumcleanup_function
|
|
|
|
amvalidate_function
|
2015-05-24 03:20:37 +02:00
|
|
|
array_iter
|
2010-02-26 02:55:35 +01:00
|
|
|
array_unnest_fctx
|
2011-04-09 05:11:37 +02:00
|
|
|
assign_collations_context
|
2010-02-26 02:55:35 +01:00
|
|
|
autovac_table
|
|
|
|
av_relation
|
|
|
|
avl_dbase
|
2016-04-27 17:47:28 +02:00
|
|
|
avl_node
|
|
|
|
avl_tree
|
2010-02-26 02:55:35 +01:00
|
|
|
avw_dbase
|
|
|
|
backslashResult
|
|
|
|
base_yy_extra_type
|
2011-04-09 05:11:37 +02:00
|
|
|
basebackup_options
|
2013-05-29 22:58:43 +02:00
|
|
|
bgworker_main_type
|
|
|
|
binaryheap
|
|
|
|
binaryheap_comparator
|
2010-02-26 02:55:35 +01:00
|
|
|
bitmapword
|
|
|
|
bits32
|
|
|
|
bits8
|
|
|
|
bool
|
2015-05-24 03:20:37 +02:00
|
|
|
brin_column_state
|
2010-02-26 02:55:35 +01:00
|
|
|
bytea
|
|
|
|
cached_re_str
|
|
|
|
cashKEY
|
2011-04-09 05:11:37 +02:00
|
|
|
cfp
|
2013-05-29 22:58:43 +02:00
|
|
|
check_agg_arguments_context
|
2016-08-15 19:42:51 +02:00
|
|
|
check_function_callback
|
2010-02-26 02:55:35 +01:00
|
|
|
check_network_data
|
2011-04-09 05:11:37 +02:00
|
|
|
check_object_relabel_type
|
2010-02-26 02:55:35 +01:00
|
|
|
check_password_hook_type
|
|
|
|
check_ungrouped_columns_context
|
|
|
|
chkpass
|
|
|
|
chr
|
|
|
|
clock_t
|
2011-04-09 05:11:37 +02:00
|
|
|
cmpEntriesArg
|
2010-02-26 02:55:35 +01:00
|
|
|
cmpfunc
|
|
|
|
codes_t
|
|
|
|
coercion
|
2011-04-09 05:11:37 +02:00
|
|
|
collation_cache_entry
|
2010-02-26 02:55:35 +01:00
|
|
|
color
|
2016-12-13 16:51:32 +01:00
|
|
|
colormaprange
|
2011-04-09 05:11:37 +02:00
|
|
|
config_var_value
|
2010-02-26 02:55:35 +01:00
|
|
|
contain_aggs_of_level_context
|
|
|
|
convert_testexpr_context
|
|
|
|
core_YYSTYPE
|
|
|
|
core_yy_extra_type
|
|
|
|
core_yyscan_t
|
2016-06-15 20:33:58 +02:00
|
|
|
corrupt_items
|
2010-02-26 02:55:35 +01:00
|
|
|
cost_qual_eval_context
|
2016-05-02 15:23:55 +02:00
|
|
|
create_upper_paths_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
createdb_failure_params
|
|
|
|
crosstab_HashEnt
|
|
|
|
crosstab_cat_desc
|
2015-05-24 03:20:37 +02:00
|
|
|
datapagemap_iterator_t
|
|
|
|
datapagemap_t
|
2010-02-26 02:55:35 +01:00
|
|
|
dateKEY
|
|
|
|
datetkn
|
2015-05-24 03:20:37 +02:00
|
|
|
dce_uuid_t
|
2010-02-26 02:55:35 +01:00
|
|
|
decimal
|
2013-05-29 22:58:43 +02:00
|
|
|
deparse_columns
|
2010-02-26 02:55:35 +01:00
|
|
|
deparse_context
|
2013-05-29 22:58:43 +02:00
|
|
|
deparse_expr_cxt
|
2010-02-26 02:55:35 +01:00
|
|
|
deparse_namespace
|
|
|
|
destructor
|
|
|
|
dev_t
|
|
|
|
directory_fctx
|
2014-05-06 15:08:14 +02:00
|
|
|
disassembledLeaf
|
2013-05-29 22:58:43 +02:00
|
|
|
dlist_head
|
|
|
|
dlist_iter
|
|
|
|
dlist_mutable_iter
|
|
|
|
dlist_node
|
2010-02-26 02:55:35 +01:00
|
|
|
ds_state
|
2016-12-02 18:34:36 +01:00
|
|
|
dsa_area
|
|
|
|
dsa_area_control
|
|
|
|
dsa_area_pool
|
|
|
|
dsa_area_span
|
2016-12-13 16:51:32 +01:00
|
|
|
dsa_handle
|
|
|
|
dsa_pointer
|
2016-12-02 18:34:36 +01:00
|
|
|
dsa_segment_header
|
2016-12-13 16:51:32 +01:00
|
|
|
dsa_segment_index
|
2016-12-02 18:34:36 +01:00
|
|
|
dsa_segment_map
|
2014-05-06 15:08:14 +02:00
|
|
|
dsm_control_header
|
|
|
|
dsm_control_item
|
|
|
|
dsm_handle
|
|
|
|
dsm_op
|
|
|
|
dsm_segment
|
|
|
|
dsm_segment_detach_callback
|
2010-07-06 21:18:19 +02:00
|
|
|
eLogType
|
2010-02-26 02:55:35 +01:00
|
|
|
ean13
|
|
|
|
eary
|
2013-05-29 22:58:43 +02:00
|
|
|
ec_matches_callback_type
|
|
|
|
ec_member_foreign_arg
|
|
|
|
ec_member_matches_arg
|
2012-06-10 21:15:31 +02:00
|
|
|
emit_log_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
eval_const_expressions_context
|
2013-05-29 22:58:43 +02:00
|
|
|
event_trigger_command_tag_check_result
|
|
|
|
event_trigger_support_data
|
|
|
|
exec_thread_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
execution_state
|
|
|
|
explain_get_index_name_hook_type
|
|
|
|
f_smgr
|
|
|
|
fd_set
|
2015-05-24 03:20:37 +02:00
|
|
|
file_action_t
|
|
|
|
file_entry_t
|
|
|
|
file_type_t
|
|
|
|
filemap_t
|
2010-02-26 02:55:35 +01:00
|
|
|
finalize_primnode_context
|
|
|
|
find_expr_references_context
|
|
|
|
fix_join_expr_context
|
|
|
|
fix_scan_expr_context
|
|
|
|
fix_upper_expr_context
|
|
|
|
flatten_join_alias_vars_context
|
|
|
|
float4
|
|
|
|
float4KEY
|
|
|
|
float8
|
|
|
|
float8KEY
|
2014-05-06 15:08:14 +02:00
|
|
|
fmAggrefPtr
|
2015-05-24 03:20:37 +02:00
|
|
|
fmExprContextCallbackFunction
|
2010-02-26 02:55:35 +01:00
|
|
|
fmNodePtr
|
2012-06-10 21:15:31 +02:00
|
|
|
fmStringInfo
|
2011-04-09 05:11:37 +02:00
|
|
|
fmgr_hook_type
|
2013-05-29 22:58:43 +02:00
|
|
|
foreign_glob_cxt
|
|
|
|
foreign_loc_cxt
|
2011-04-09 05:11:37 +02:00
|
|
|
freeaddrinfo_ptr_t
|
2010-02-26 02:55:35 +01:00
|
|
|
freefunc
|
|
|
|
fsec_t
|
|
|
|
func_ptr
|
2011-06-09 20:01:49 +02:00
|
|
|
gbt_vsrt_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
gbtree_ninfo
|
|
|
|
gbtree_vinfo
|
|
|
|
generate_series_fctx
|
2015-05-24 03:20:37 +02:00
|
|
|
generate_series_numeric_fctx
|
2010-02-26 02:55:35 +01:00
|
|
|
generate_series_timestamp_fctx
|
|
|
|
generate_series_timestamptz_fctx
|
|
|
|
generate_subscripts_fctx
|
2016-08-15 19:42:51 +02:00
|
|
|
get_agg_clause_costs_context
|
2010-02-26 02:55:35 +01:00
|
|
|
get_attavgwidth_hook_type
|
|
|
|
get_index_stats_hook_type
|
|
|
|
get_relation_info_hook_type
|
|
|
|
get_relation_stats_hook_type
|
2011-04-09 05:11:37 +02:00
|
|
|
getaddrinfo_ptr_t
|
|
|
|
getnameinfo_ptr_t
|
2010-02-26 02:55:35 +01:00
|
|
|
gid_t
|
2015-05-24 03:20:37 +02:00
|
|
|
gin_leafpage_items_state
|
2010-02-26 02:55:35 +01:00
|
|
|
ginxlogCreatePostingTree
|
|
|
|
ginxlogDeleteListPages
|
|
|
|
ginxlogDeletePage
|
|
|
|
ginxlogInsert
|
2014-05-06 15:08:14 +02:00
|
|
|
ginxlogInsertDataInternal
|
|
|
|
ginxlogInsertEntry
|
2010-02-26 02:55:35 +01:00
|
|
|
ginxlogInsertListPage
|
2014-05-06 15:08:14 +02:00
|
|
|
ginxlogRecompressDataLeaf
|
2010-02-26 02:55:35 +01:00
|
|
|
ginxlogSplit
|
|
|
|
ginxlogUpdateMeta
|
2014-05-06 15:08:14 +02:00
|
|
|
ginxlogVacuumDataLeafPage
|
2010-02-26 02:55:35 +01:00
|
|
|
gistxlogPage
|
|
|
|
gistxlogPageSplit
|
|
|
|
gistxlogPageUpdate
|
2011-04-09 05:11:37 +02:00
|
|
|
gseg_picksplit_item
|
2013-05-29 22:58:43 +02:00
|
|
|
gss_OID
|
2010-02-26 02:55:35 +01:00
|
|
|
gss_buffer_desc
|
2013-05-29 22:58:43 +02:00
|
|
|
gss_cred_id_t
|
|
|
|
gss_ctx_id_t
|
|
|
|
gss_name_t
|
|
|
|
gtrgm_consistent_cache
|
2010-02-26 02:55:35 +01:00
|
|
|
gzFile
|
|
|
|
hashfunc
|
|
|
|
hbaPort
|
|
|
|
heap_page_items_state
|
|
|
|
help_handler
|
|
|
|
hlCheck
|
2016-12-13 16:51:32 +01:00
|
|
|
hstoreCheckKeyLen_t
|
|
|
|
hstoreCheckValLen_t
|
|
|
|
hstorePairs_t
|
|
|
|
hstoreUniquePairs_t
|
|
|
|
hstoreUpgrade_t
|
2015-05-24 03:20:37 +02:00
|
|
|
hyperLogLogState
|
|
|
|
import_error_callback_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
indexed_tlist
|
|
|
|
inet
|
|
|
|
inetKEY
|
|
|
|
inet_struct
|
2014-05-06 15:08:14 +02:00
|
|
|
init_function
|
2010-07-06 21:18:19 +02:00
|
|
|
inline_error_callback_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
ino_t
|
2013-05-29 22:58:43 +02:00
|
|
|
inquiry
|
2010-02-26 02:55:35 +01:00
|
|
|
instr_time
|
2015-05-24 03:20:37 +02:00
|
|
|
int128
|
2010-02-26 02:55:35 +01:00
|
|
|
int16
|
|
|
|
int16KEY
|
|
|
|
int2vector
|
|
|
|
int32
|
|
|
|
int32KEY
|
|
|
|
int32_t
|
|
|
|
int64
|
|
|
|
int64KEY
|
|
|
|
int8
|
2013-05-29 22:58:43 +02:00
|
|
|
internalPQconninfoOption
|
2010-02-26 02:55:35 +01:00
|
|
|
intptr_t
|
|
|
|
intvKEY
|
|
|
|
itemIdSort
|
|
|
|
itemIdSortData
|
|
|
|
jmp_buf
|
|
|
|
join_search_hook_type
|
2013-05-29 22:58:43 +02:00
|
|
|
json_aelem_action
|
|
|
|
json_ofield_action
|
|
|
|
json_scalar_action
|
|
|
|
json_struct_action
|
2011-04-09 05:11:37 +02:00
|
|
|
keyEntryData
|
2010-02-26 02:55:35 +01:00
|
|
|
key_t
|
|
|
|
lclContext
|
|
|
|
lclTocEntry
|
2014-05-06 15:08:14 +02:00
|
|
|
leafSegmentInfo
|
2010-02-26 02:55:35 +01:00
|
|
|
line_t
|
2016-12-13 16:51:32 +01:00
|
|
|
lineno_t
|
2011-04-09 05:11:37 +02:00
|
|
|
locale_t
|
2010-02-26 02:55:35 +01:00
|
|
|
locate_agg_of_level_context
|
|
|
|
locate_var_of_level_context
|
|
|
|
locate_windowfunc_context
|
2011-11-14 18:12:23 +01:00
|
|
|
logstreamer_param
|
2010-02-26 02:55:35 +01:00
|
|
|
lquery
|
|
|
|
lquery_level
|
|
|
|
lquery_variant
|
|
|
|
ltree
|
|
|
|
ltree_gist
|
|
|
|
ltree_level
|
|
|
|
ltxtquery
|
|
|
|
mXactCacheEnt
|
|
|
|
macKEY
|
|
|
|
macaddr
|
2013-05-29 22:58:43 +02:00
|
|
|
map_variable_attnos_context
|
2016-12-13 16:51:32 +01:00
|
|
|
max_parallel_hazard_context
|
2010-02-26 02:55:35 +01:00
|
|
|
mb2wchar_with_len_converter
|
2011-11-14 18:12:23 +01:00
|
|
|
mbcharacter_incrementer
|
2010-02-26 02:55:35 +01:00
|
|
|
mbdisplaylen_converter
|
|
|
|
mblen_converter
|
|
|
|
mbverifier
|
|
|
|
md5_ctxt
|
|
|
|
metastring
|
|
|
|
mix_data_t
|
|
|
|
mixedStruct
|
|
|
|
mode_t
|
|
|
|
movedb_failure_params
|
|
|
|
mp_digit
|
|
|
|
mp_int
|
|
|
|
mp_result
|
|
|
|
mp_sign
|
|
|
|
mp_size
|
|
|
|
mp_word
|
|
|
|
mpz_t
|
2013-05-29 22:58:43 +02:00
|
|
|
mxact
|
|
|
|
mxtruncinfo
|
2011-04-09 05:11:37 +02:00
|
|
|
needs_fmgr_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
nodeitem
|
|
|
|
normal_rand_fctx
|
|
|
|
ntile_context
|
|
|
|
numeric
|
2011-04-09 05:11:37 +02:00
|
|
|
object_access_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
off_t
|
|
|
|
oidKEY
|
|
|
|
oidvector
|
2014-05-06 15:08:14 +02:00
|
|
|
on_dsm_detach_callback
|
2012-06-10 21:15:31 +02:00
|
|
|
on_exit_nicely_callback
|
2016-12-13 16:51:32 +01:00
|
|
|
ossl_EVP_cipher_func
|
2010-02-26 02:55:35 +01:00
|
|
|
ossldata
|
2015-05-24 03:20:37 +02:00
|
|
|
output_type
|
2016-12-13 16:51:32 +01:00
|
|
|
pagetable_hash
|
|
|
|
pagetable_iterator
|
2015-05-24 03:20:37 +02:00
|
|
|
pairingheap
|
|
|
|
pairingheap_comparator
|
|
|
|
pairingheap_node
|
|
|
|
parallel_worker_main_type
|
2010-07-06 21:18:19 +02:00
|
|
|
parse_error_callback_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
pendingPosition
|
|
|
|
pgParameterStatus
|
2015-05-24 03:20:37 +02:00
|
|
|
pg_atomic_flag
|
|
|
|
pg_atomic_uint32
|
|
|
|
pg_atomic_uint64
|
2016-12-13 16:51:32 +01:00
|
|
|
pg_conn_host
|
|
|
|
pg_conn_host_type
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_conv_map
|
|
|
|
pg_crc32
|
2015-05-24 03:20:37 +02:00
|
|
|
pg_crc32c
|
2012-06-10 21:15:31 +02:00
|
|
|
pg_ctype_cache
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_enc
|
|
|
|
pg_enc2gettext
|
|
|
|
pg_enc2name
|
|
|
|
pg_encname
|
|
|
|
pg_gssinfo
|
2013-05-29 22:58:43 +02:00
|
|
|
pg_int64
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_local_to_utf
|
|
|
|
pg_local_to_utf_combined
|
2011-04-09 05:11:37 +02:00
|
|
|
pg_locale_t
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_on_exit_callback
|
|
|
|
pg_re_flags
|
2012-06-10 21:15:31 +02:00
|
|
|
pg_stack_base_t
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_time_t
|
|
|
|
pg_tz
|
|
|
|
pg_tz_cache
|
|
|
|
pg_tzenum
|
|
|
|
pg_utf_to_local
|
|
|
|
pg_utf_to_local_combined
|
|
|
|
pg_uuid_t
|
2012-06-10 21:15:31 +02:00
|
|
|
pg_wc_probefunc
|
2010-02-26 02:55:35 +01:00
|
|
|
pg_wchar
|
|
|
|
pg_wchar_tbl
|
2015-05-24 03:20:37 +02:00
|
|
|
pgp_armor_headers_state
|
2010-02-26 02:55:35 +01:00
|
|
|
pgpid_t
|
|
|
|
pgsocket
|
|
|
|
pgsql_thing_t
|
|
|
|
pgssEntry
|
|
|
|
pgssHashKey
|
2012-06-10 21:15:31 +02:00
|
|
|
pgssJumbleState
|
|
|
|
pgssLocationLen
|
2010-02-26 02:55:35 +01:00
|
|
|
pgssSharedState
|
2014-05-06 15:08:14 +02:00
|
|
|
pgssVersion
|
2010-02-26 02:55:35 +01:00
|
|
|
pgstat_page
|
|
|
|
pgstattuple_type
|
|
|
|
pgthreadlock_t
|
|
|
|
pid_t
|
2016-04-27 17:47:28 +02:00
|
|
|
pivot_field
|
2010-02-26 02:55:35 +01:00
|
|
|
planner_hook_type
|
2011-04-09 05:11:37 +02:00
|
|
|
plperl_array_info
|
2010-02-26 02:55:35 +01:00
|
|
|
plperl_call_data
|
2011-04-09 05:11:37 +02:00
|
|
|
plperl_interp_desc
|
2010-02-26 02:55:35 +01:00
|
|
|
plperl_proc_desc
|
2011-04-09 05:11:37 +02:00
|
|
|
plperl_proc_key
|
|
|
|
plperl_proc_ptr
|
2010-02-26 02:55:35 +01:00
|
|
|
plperl_query_desc
|
|
|
|
plperl_query_entry
|
2015-05-24 03:20:37 +02:00
|
|
|
plpgsql_CastHashEntry
|
|
|
|
plpgsql_CastHashKey
|
2010-02-26 02:55:35 +01:00
|
|
|
plpgsql_HashEnt
|
2016-12-13 16:51:32 +01:00
|
|
|
pltcl_call_state
|
2011-04-09 05:11:37 +02:00
|
|
|
pltcl_interp_desc
|
2010-02-26 02:55:35 +01:00
|
|
|
pltcl_proc_desc
|
2011-04-09 05:11:37 +02:00
|
|
|
pltcl_proc_key
|
|
|
|
pltcl_proc_ptr
|
2010-02-26 02:55:35 +01:00
|
|
|
pltcl_query_desc
|
2016-04-27 17:47:28 +02:00
|
|
|
pos_trgm
|
2012-06-10 21:15:31 +02:00
|
|
|
post_parse_analyze_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
pqbool
|
|
|
|
pqsigfunc
|
|
|
|
printQueryOpt
|
|
|
|
printTableContent
|
|
|
|
printTableFooter
|
|
|
|
printTableOpt
|
|
|
|
printTextFormat
|
|
|
|
printTextLineFormat
|
|
|
|
printTextLineWrap
|
|
|
|
printTextRule
|
|
|
|
priv_map
|
2015-05-24 03:20:37 +02:00
|
|
|
process_file_callback_t
|
2010-02-26 02:55:35 +01:00
|
|
|
process_sublinks_context
|
2016-08-16 00:09:55 +02:00
|
|
|
proclist_head
|
|
|
|
proclist_mutable_iter
|
|
|
|
proclist_node
|
2010-02-26 02:55:35 +01:00
|
|
|
promptStatus_t
|
2012-06-10 21:15:31 +02:00
|
|
|
pthread_attr_t
|
2010-02-26 02:55:35 +01:00
|
|
|
pthread_key_t
|
|
|
|
pthread_mutex_t
|
|
|
|
pthread_once_t
|
|
|
|
pthread_t
|
2016-12-13 16:51:32 +01:00
|
|
|
ptrdiff_t
|
2010-02-26 02:55:35 +01:00
|
|
|
pull_var_clause_context
|
2011-11-14 18:12:23 +01:00
|
|
|
pull_varattnos_context
|
2010-02-26 02:55:35 +01:00
|
|
|
pull_varnos_context
|
2013-05-29 22:58:43 +02:00
|
|
|
pull_vars_context
|
2010-02-26 02:55:35 +01:00
|
|
|
pullup_replace_vars_context
|
2015-05-24 03:20:37 +02:00
|
|
|
pushdown_safety_info
|
2010-02-26 02:55:35 +01:00
|
|
|
qsort_arg_comparator
|
2013-05-29 22:58:43 +02:00
|
|
|
query_pathkeys_callback
|
2010-02-26 02:55:35 +01:00
|
|
|
radius_attribute
|
|
|
|
radius_packet
|
|
|
|
rangeTableEntry_used_context
|
|
|
|
rank_context
|
2011-04-09 05:11:37 +02:00
|
|
|
rb_allocfunc
|
|
|
|
rb_combiner
|
2010-02-26 02:55:35 +01:00
|
|
|
rb_comparator
|
|
|
|
rb_freefunc
|
|
|
|
reduce_outer_joins_state
|
2013-05-29 22:58:43 +02:00
|
|
|
regex_arc_t
|
2010-02-26 02:55:35 +01:00
|
|
|
regex_t
|
2014-05-06 15:08:14 +02:00
|
|
|
regexp
|
2010-02-26 02:55:35 +01:00
|
|
|
regexp_matches_ctx
|
2015-05-24 03:20:37 +02:00
|
|
|
registered_buffer
|
2010-02-26 02:55:35 +01:00
|
|
|
regmatch_t
|
|
|
|
regoff_t
|
|
|
|
regproc
|
|
|
|
relopt_bool
|
|
|
|
relopt_gen
|
|
|
|
relopt_int
|
|
|
|
relopt_kind
|
|
|
|
relopt_parse_elt
|
|
|
|
relopt_real
|
|
|
|
relopt_string
|
|
|
|
relopt_type
|
|
|
|
relopt_value
|
|
|
|
remoteConn
|
|
|
|
remoteConnHashEnt
|
|
|
|
remoteDep
|
|
|
|
rendezvousHashEntry
|
|
|
|
replace_rte_variables_callback
|
|
|
|
replace_rte_variables_context
|
|
|
|
rewrite_event
|
|
|
|
rijndael_ctx
|
|
|
|
rm_detail_t
|
2011-04-09 05:11:37 +02:00
|
|
|
role_auth_extra
|
2015-05-24 03:20:37 +02:00
|
|
|
row_security_policy_hook_type
|
2010-02-26 02:55:35 +01:00
|
|
|
save_buffer
|
2014-05-06 15:08:14 +02:00
|
|
|
security_barrier_replace_vars_context
|
2016-12-13 16:51:32 +01:00
|
|
|
sem_t
|
2010-02-26 02:55:35 +01:00
|
|
|
sequence_magic
|
2015-05-24 03:20:37 +02:00
|
|
|
set_join_pathlist_hook_type
|
|
|
|
set_rel_pathlist_hook_type
|
2014-05-06 15:08:14 +02:00
|
|
|
shm_mq
|
|
|
|
shm_mq_handle
|
2015-05-24 03:20:37 +02:00
|
|
|
shm_mq_iovec
|
2014-05-06 15:08:14 +02:00
|
|
|
shm_mq_result
|
|
|
|
shm_toc
|
|
|
|
shm_toc_entry
|
|
|
|
shm_toc_estimator
|
2010-02-26 02:55:35 +01:00
|
|
|
shmem_startup_hook_type
|
|
|
|
sig_atomic_t
|
|
|
|
sigjmp_buf
|
|
|
|
signedbitmapword
|
|
|
|
sigset_t
|
|
|
|
size_t
|
2013-05-29 22:58:43 +02:00
|
|
|
slist_head
|
|
|
|
slist_iter
|
|
|
|
slist_mutable_iter
|
|
|
|
slist_node
|
2010-02-26 02:55:35 +01:00
|
|
|
slock_t
|
|
|
|
smgrid
|
2012-06-10 21:15:31 +02:00
|
|
|
spgBulkDeleteState
|
|
|
|
spgChooseIn
|
|
|
|
spgChooseOut
|
|
|
|
spgChooseResultType
|
|
|
|
spgConfigIn
|
|
|
|
spgConfigOut
|
|
|
|
spgInnerConsistentIn
|
|
|
|
spgInnerConsistentOut
|
|
|
|
spgLeafConsistentIn
|
|
|
|
spgLeafConsistentOut
|
|
|
|
spgNodePtr
|
|
|
|
spgPickSplitIn
|
|
|
|
spgPickSplitOut
|
|
|
|
spgVacPendingItem
|
|
|
|
spgxlogAddLeaf
|
|
|
|
spgxlogAddNode
|
|
|
|
spgxlogMoveLeafs
|
|
|
|
spgxlogPickSplit
|
|
|
|
spgxlogSplitTuple
|
|
|
|
spgxlogState
|
|
|
|
spgxlogVacuumLeaf
|
|
|
|
spgxlogVacuumRedirect
|
|
|
|
spgxlogVacuumRoot
|
2010-02-26 02:55:35 +01:00
|
|
|
sql_error_callback_arg
|
2012-06-10 21:15:31 +02:00
|
|
|
sqlparseInfo
|
|
|
|
sqlparseState
|
2010-02-26 02:55:35 +01:00
|
|
|
ss_lru_item_t
|
|
|
|
ss_scan_location_t
|
|
|
|
ss_scan_locations_t
|
|
|
|
ssize_t
|
2013-05-29 22:58:43 +02:00
|
|
|
standard_qp_extra
|
2010-02-26 02:55:35 +01:00
|
|
|
stemmer_module
|
|
|
|
stmtCacheEntry
|
2012-06-10 21:15:31 +02:00
|
|
|
storeInfo
|
|
|
|
storeRes_func
|
|
|
|
stream_stop_callback
|
2010-02-26 02:55:35 +01:00
|
|
|
substitute_actual_parameters_context
|
|
|
|
substitute_actual_srf_parameters_context
|
|
|
|
substitute_multiple_relids_context
|
2011-04-09 05:11:37 +02:00
|
|
|
svtype
|
2010-02-26 02:55:35 +01:00
|
|
|
symbol
|
2011-04-09 05:11:37 +02:00
|
|
|
tablespaceinfo
|
2010-02-26 02:55:35 +01:00
|
|
|
teReqs
|
|
|
|
teSection
|
2011-04-09 05:11:37 +02:00
|
|
|
temp_tablespaces_extra
|
2014-05-06 15:08:14 +02:00
|
|
|
test_function
|
|
|
|
test_shm_mq_header
|
2010-02-26 02:55:35 +01:00
|
|
|
text
|
|
|
|
timeKEY
|
|
|
|
time_t
|
2013-05-29 22:58:43 +02:00
|
|
|
timeout_handler_proc
|
|
|
|
timeout_params
|
2011-04-09 05:11:37 +02:00
|
|
|
timerCA
|
2010-02-26 02:55:35 +01:00
|
|
|
tlist_vinfo
|
2015-05-24 03:20:37 +02:00
|
|
|
toast_compress_header
|
2010-07-06 21:18:19 +02:00
|
|
|
transferMode
|
2013-05-29 22:58:43 +02:00
|
|
|
transfer_thread_arg
|
2010-02-26 02:55:35 +01:00
|
|
|
trgm
|
2013-05-29 22:58:43 +02:00
|
|
|
trgm_mb_char
|
2015-05-24 03:20:37 +02:00
|
|
|
trivalue
|
2010-02-26 02:55:35 +01:00
|
|
|
tsKEY
|
|
|
|
ts_db_fctx
|
|
|
|
ts_tokentype
|
|
|
|
tsearch_readline_state
|
2016-10-15 02:22:51 +02:00
|
|
|
tuplehash_hash
|
|
|
|
tuplehash_iterator
|
2010-02-26 02:55:35 +01:00
|
|
|
txid
|
|
|
|
tzEntry
|
|
|
|
u1byte
|
|
|
|
u4byte
|
|
|
|
u_char
|
|
|
|
u_int
|
|
|
|
uchr
|
|
|
|
uid_t
|
2015-05-24 03:20:37 +02:00
|
|
|
uint128
|
2010-02-26 02:55:35 +01:00
|
|
|
uint16
|
2011-04-09 05:11:37 +02:00
|
|
|
uint16_t
|
2010-02-26 02:55:35 +01:00
|
|
|
uint32
|
|
|
|
uint32_t
|
|
|
|
uint64
|
|
|
|
uint8
|
2015-05-24 03:20:37 +02:00
|
|
|
uint8_t
|
2010-02-26 02:55:35 +01:00
|
|
|
uintptr_t
|
2015-05-24 03:20:37 +02:00
|
|
|
unicodeStyleBorderFormat
|
|
|
|
unicodeStyleColumnFormat
|
|
|
|
unicodeStyleFormat
|
|
|
|
unicodeStyleRowFormat
|
|
|
|
unicode_linestyle
|
|
|
|
unit_conversion
|
2011-04-09 05:11:37 +02:00
|
|
|
unlogged_relation_entry
|
2015-05-24 03:20:37 +02:00
|
|
|
utf_local_conversion_func
|
2016-12-13 16:51:32 +01:00
|
|
|
uuidKEY
|
2010-02-26 02:55:35 +01:00
|
|
|
uuid_rc_t
|
2016-04-27 17:47:28 +02:00
|
|
|
uuid_sortsupport_state
|
2010-02-26 02:55:35 +01:00
|
|
|
uuid_t
|
|
|
|
v_i_state
|
|
|
|
va_list
|
2015-05-24 03:20:37 +02:00
|
|
|
vacuumingOptions
|
2010-02-26 02:55:35 +01:00
|
|
|
validate_string_relopt
|
2015-05-24 03:20:37 +02:00
|
|
|
varatt_expanded
|
2010-02-26 02:55:35 +01:00
|
|
|
varattrib_1b
|
|
|
|
varattrib_1b_e
|
|
|
|
varattrib_4b
|
2016-04-27 17:47:28 +02:00
|
|
|
vbits
|
2016-12-13 16:51:32 +01:00
|
|
|
walrcv_connect_fn
|
|
|
|
walrcv_disconnect_fn
|
|
|
|
walrcv_endstreaming_fn
|
|
|
|
walrcv_get_conninfo_fn
|
|
|
|
walrcv_identify_system_fn
|
|
|
|
walrcv_readtimelinehistoryfile_fn
|
|
|
|
walrcv_receive_fn
|
|
|
|
walrcv_send_fn
|
|
|
|
walrcv_startstreaming_fn
|
2013-05-29 22:58:43 +02:00
|
|
|
wchar2mb_with_len_converter
|
2010-02-26 02:55:35 +01:00
|
|
|
wchar_t
|
2011-04-09 05:11:37 +02:00
|
|
|
win32_deadchild_waitinfo
|
|
|
|
win32_pthread
|
2010-02-26 02:55:35 +01:00
|
|
|
wint_t
|
2014-05-06 15:08:14 +02:00
|
|
|
worker_state
|
2013-05-29 22:58:43 +02:00
|
|
|
worktable
|
2015-05-24 03:20:37 +02:00
|
|
|
xl_brin_createidx
|
|
|
|
xl_brin_insert
|
|
|
|
xl_brin_revmap_extend
|
|
|
|
xl_brin_samepage_update
|
|
|
|
xl_brin_update
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_btree_delete
|
|
|
|
xl_btree_insert
|
2014-05-06 15:08:14 +02:00
|
|
|
xl_btree_mark_page_halfdead
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_btree_metadata
|
|
|
|
xl_btree_newroot
|
|
|
|
xl_btree_reuse_page
|
|
|
|
xl_btree_split
|
2014-05-06 15:08:14 +02:00
|
|
|
xl_btree_unlink_page
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_btree_vacuum
|
2015-05-24 03:20:37 +02:00
|
|
|
xl_commit_ts_set
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_dbase_create_rec
|
|
|
|
xl_dbase_drop_rec
|
2013-05-29 22:58:43 +02:00
|
|
|
xl_end_of_recovery
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_heap_clean
|
|
|
|
xl_heap_cleanup_info
|
2015-05-24 03:20:37 +02:00
|
|
|
xl_heap_confirm
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_heap_delete
|
2014-05-06 15:08:14 +02:00
|
|
|
xl_heap_freeze_page
|
|
|
|
xl_heap_freeze_tuple
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_heap_header
|
|
|
|
xl_heap_inplace
|
|
|
|
xl_heap_insert
|
|
|
|
xl_heap_lock
|
2013-05-29 22:58:43 +02:00
|
|
|
xl_heap_lock_updated
|
2011-11-14 18:12:23 +01:00
|
|
|
xl_heap_multi_insert
|
Add new wal_level, logical, sufficient for logical decoding.
When wal_level=logical, we'll log columns from the old tuple as
configured by the REPLICA IDENTITY facility added in commit
07cacba983ef79be4a84fcd0e0ca3b5fcb85dd65. This makes it possible
a properly-configured logical replication solution to correctly
follow table updates even if they change the chosen key columns,
or, with REPLICA IDENTITY FULL, even if the table has no key at
all. Note that updates which do not modify the replica identity
column won't log anything extra, making the choice of a good key
(i.e. one that will rarely be changed) important to performance
when wal_level=logical is configured.
Each insert, update, or delete to a catalog table will also log
the CMIN and/or CMAX values of stamped by the current transaction.
This is necessary because logical decoding will require access to
historical snapshots of the catalog in order to decode some data
types, and the CMIN/CMAX values that we may need in order to judge
row visibility may have been overwritten by the time we need them.
Andres Freund, reviewed in various versions by myself, Heikki
Linnakangas, KONDO Mitsumasa, and many others.
2013-12-11 00:33:45 +01:00
|
|
|
xl_heap_new_cid
|
2014-05-06 15:08:14 +02:00
|
|
|
xl_heap_rewrite_mapping
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_heap_update
|
2011-11-14 18:12:23 +01:00
|
|
|
xl_heap_visible
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_invalid_page
|
|
|
|
xl_invalid_page_key
|
2016-04-27 17:47:28 +02:00
|
|
|
xl_invalidations
|
|
|
|
xl_logical_message
|
2011-11-14 18:12:23 +01:00
|
|
|
xl_multi_insert_tuple
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_multixact_create
|
Rework the way multixact truncations work.
The fact that multixact truncations are not WAL logged has caused a fair
share of problems. Amongst others it requires to do computations during
recovery while the database is not in a consistent state, delaying
truncations till checkpoints, and handling members being truncated, but
offset not.
We tried to put bandaids on lots of these issues over the last years,
but it seems time to change course. Thus this patch introduces WAL
logging for multixact truncations.
This allows:
1) to perform the truncation directly during VACUUM, instead of delaying it
to the checkpoint.
2) to avoid looking at the offsets SLRU for truncation during recovery,
we can just use the master's values.
3) simplify a fair amount of logic to keep in memory limits straight,
this has gotten much easier
During the course of fixing this a bunch of additional bugs had to be
fixed:
1) Data was not purged from memory the member's SLRU before deleting
segments. This happened to be hard or impossible to hit due to the
interlock between checkpoints and truncation.
2) find_multixact_start() relied on SimpleLruDoesPhysicalPageExist - but
that doesn't work for offsets that haven't yet been flushed to
disk. Add code to flush the SLRUs to fix. Not pretty, but it feels
slightly safer to only make decisions based on actual on-disk state.
3) find_multixact_start() could be called concurrently with a truncation
and thus fail. Via SetOffsetVacuumLimit() that could lead to a round
of emergency vacuuming. The problem remains in
pg_get_multixact_members(), but that's quite harmless.
For now this is going to only get applied to 9.5+, leaving the issues in
the older branches in place. It is quite possible that we need to
backpatch at a later point though.
For the case this gets backpatched we need to handle that an updated
standby may be replaying WAL from a not-yet upgraded primary. We have to
recognize that situation and use "old style" truncation (i.e. looking at
the SLRUs) during WAL replay. In contrast to before, this now happens in
the startup process, when replaying a checkpoint record, instead of the
checkpointer. Doing truncation in the restartpoint is incorrect, they
can happen much later than the original checkpoint, thereby leading to
wraparound. To avoid "multixact_redo: unknown op code 48" errors
standbys would have to be upgraded before primaries.
A later patch will bump the WAL page magic, and remove the legacy
truncation codepaths. Legacy truncation support is just included to make
a possible future backpatch easier.
Discussion: 20150621192409.GA4797@alap3.anarazel.de
Reviewed-By: Robert Haas, Alvaro Herrera, Thomas Munro
Backpatch: 9.5 for now
2015-09-26 19:04:25 +02:00
|
|
|
xl_multixact_truncate
|
2010-07-06 21:18:19 +02:00
|
|
|
xl_parameter_change
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_relmap_update
|
2015-05-24 03:20:37 +02:00
|
|
|
xl_replorigin_drop
|
|
|
|
xl_replorigin_set
|
2011-04-09 05:11:37 +02:00
|
|
|
xl_restore_point
|
2010-02-26 02:55:35 +01:00
|
|
|
xl_running_xacts
|
|
|
|
xl_seq_rec
|
|
|
|
xl_smgr_create
|
|
|
|
xl_smgr_truncate
|
|
|
|
xl_standby_lock
|
|
|
|
xl_standby_locks
|
|
|
|
xl_tblspc_create_rec
|
|
|
|
xl_tblspc_drop_rec
|
|
|
|
xl_xact_abort
|
|
|
|
xl_xact_assignment
|
|
|
|
xl_xact_commit
|
2015-05-24 03:20:37 +02:00
|
|
|
xl_xact_dbinfo
|
|
|
|
xl_xact_invals
|
|
|
|
xl_xact_origin
|
|
|
|
xl_xact_parsed_abort
|
|
|
|
xl_xact_parsed_commit
|
|
|
|
xl_xact_relfilenodes
|
|
|
|
xl_xact_subxacts
|
|
|
|
xl_xact_twophase
|
|
|
|
xl_xact_xinfo
|
2010-02-26 02:55:35 +01:00
|
|
|
xmlBuffer
|
|
|
|
xmlBufferPtr
|
|
|
|
xmlChar
|
|
|
|
xmlDocPtr
|
2011-11-14 18:12:23 +01:00
|
|
|
xmlErrorPtr
|
2013-05-29 22:58:43 +02:00
|
|
|
xmlExternalEntityLoader
|
2011-11-14 18:12:23 +01:00
|
|
|
xmlGenericErrorFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
xmlNodePtr
|
|
|
|
xmlNodeSetPtr
|
|
|
|
xmlParserCtxtPtr
|
2011-11-14 18:12:23 +01:00
|
|
|
xmlParserInputPtr
|
|
|
|
xmlStructuredErrorFunc
|
2010-02-26 02:55:35 +01:00
|
|
|
xmlTextWriter
|
|
|
|
xmlTextWriterPtr
|
|
|
|
xmlXPathCompExprPtr
|
|
|
|
xmlXPathContextPtr
|
|
|
|
xmlXPathObjectPtr
|
|
|
|
xmltype
|
2011-04-09 05:11:37 +02:00
|
|
|
xpath_workspace
|
2013-05-29 22:58:43 +02:00
|
|
|
xsltSecurityPrefsPtr
|
2010-02-26 02:55:35 +01:00
|
|
|
xsltStylesheetPtr
|
2013-05-29 22:58:43 +02:00
|
|
|
xsltTransformContextPtr
|
2011-04-09 05:11:37 +02:00
|
|
|
yy_parser
|
2010-02-26 02:55:35 +01:00
|
|
|
yy_size_t
|
|
|
|
yyscan_t
|
|
|
|
z_stream
|
|
|
|
z_streamp
|
2014-05-06 15:08:14 +02:00
|
|
|
zic_t
|