@@ -1150,18 +1150,19 @@ void MtmHandleApplyError(void)
1150
1150
{
1151
1151
ErrorData * edata = CopyErrorData ();
1152
1152
switch (edata -> sqlerrcode ) {
1153
- case ERRCODE_DISK_FULL :
1154
- case ERRCODE_INSUFFICIENT_RESOURCES :
1155
- case ERRCODE_IO_ERROR :
1156
- case ERRCODE_DATA_CORRUPTED :
1157
- case ERRCODE_INDEX_CORRUPTED :
1158
- case ERRCODE_SYSTEM_ERROR :
1159
- case ERRCODE_INTERNAL_ERROR :
1160
- case ERRCODE_OUT_OF_MEMORY :
1161
- elog (WARNING , "Node is excluded from cluster because of non-recoverable error %d" , edata -> sqlerrcode );
1162
- MtmSwitchClusterMode (MTM_OUT_OF_SERVICE );
1163
- kill (PostmasterPid , SIGQUIT );
1164
- break ;
1153
+ case ERRCODE_DISK_FULL :
1154
+ case ERRCODE_INSUFFICIENT_RESOURCES :
1155
+ case ERRCODE_IO_ERROR :
1156
+ case ERRCODE_DATA_CORRUPTED :
1157
+ case ERRCODE_INDEX_CORRUPTED :
1158
+ case ERRCODE_SYSTEM_ERROR :
1159
+ case ERRCODE_INTERNAL_ERROR :
1160
+ case ERRCODE_OUT_OF_MEMORY :
1161
+ elog (WARNING , "Node is excluded from cluster because of non-recoverable error %d, %s, pid=%u" ,
1162
+ edata -> sqlerrcode , edata -> message , getpid ());
1163
+ MtmSwitchClusterMode (MTM_OUT_OF_SERVICE );
1164
+ kill (PostmasterPid , SIGQUIT );
1165
+ break ;
1165
1166
}
1166
1167
FreeErrorData (edata );
1167
1168
}
@@ -3182,7 +3183,8 @@ static void MtmProcessUtility(Node *parsetree, const char *queryString,
3182
3183
{
3183
3184
/* Do not replicate temp tables */
3184
3185
CreateStmt * stmt = (CreateStmt * ) parsetree ;
3185
- skipCommand = stmt -> relation -> relpersistence == RELPERSISTENCE_TEMP ;
3186
+ skipCommand = stmt -> relation -> relpersistence == RELPERSISTENCE_TEMP ||
3187
+ (stmt -> relation -> schemaname && strcmp (stmt -> relation -> schemaname , "pg_temp" ) == 0 );
3186
3188
}
3187
3189
break ;
3188
3190
case T_IndexStmt :
0 commit comments