@@ -1139,18 +1139,19 @@ void MtmHandleApplyError(void)
1139
1139
{
1140
1140
ErrorData * edata = CopyErrorData ();
1141
1141
switch (edata -> sqlerrcode ) {
1142
- case ERRCODE_DISK_FULL :
1143
- case ERRCODE_INSUFFICIENT_RESOURCES :
1144
- case ERRCODE_IO_ERROR :
1145
- case ERRCODE_DATA_CORRUPTED :
1146
- case ERRCODE_INDEX_CORRUPTED :
1147
- case ERRCODE_SYSTEM_ERROR :
1148
- case ERRCODE_INTERNAL_ERROR :
1149
- case ERRCODE_OUT_OF_MEMORY :
1150
- elog (WARNING , "Node is excluded from cluster because of non-recoverable error %d" , edata -> sqlerrcode );
1151
- MtmSwitchClusterMode (MTM_OUT_OF_SERVICE );
1152
- kill (PostmasterPid , SIGQUIT );
1153
- break ;
1142
+ case ERRCODE_DISK_FULL :
1143
+ case ERRCODE_INSUFFICIENT_RESOURCES :
1144
+ case ERRCODE_IO_ERROR :
1145
+ case ERRCODE_DATA_CORRUPTED :
1146
+ case ERRCODE_INDEX_CORRUPTED :
1147
+ case ERRCODE_SYSTEM_ERROR :
1148
+ case ERRCODE_INTERNAL_ERROR :
1149
+ case ERRCODE_OUT_OF_MEMORY :
1150
+ elog (WARNING , "Node is excluded from cluster because of non-recoverable error %d, %s, pid=%u" ,
1151
+ edata -> sqlerrcode , edata -> message , getpid ());
1152
+ MtmSwitchClusterMode (MTM_OUT_OF_SERVICE );
1153
+ kill (PostmasterPid , SIGQUIT );
1154
+ break ;
1154
1155
}
1155
1156
FreeErrorData (edata );
1156
1157
}
@@ -3158,7 +3159,8 @@ static void MtmProcessUtility(Node *parsetree, const char *queryString,
3158
3159
{
3159
3160
/* Do not replicate temp tables */
3160
3161
CreateStmt * stmt = (CreateStmt * ) parsetree ;
3161
- skipCommand = stmt -> relation -> relpersistence == RELPERSISTENCE_TEMP ;
3162
+ skipCommand = stmt -> relation -> relpersistence == RELPERSISTENCE_TEMP ||
3163
+ (stmt -> relation -> schemaname && strcmp (stmt -> relation -> schemaname , "pg_temp" ) == 0 );
3162
3164
}
3163
3165
break ;
3164
3166
case T_IndexStmt :
0 commit comments