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