@@ -107,8 +107,8 @@ static void do_block_validation(void);
107
107
static void do_amcheck (void );
108
108
static void * check_files (void * arg );
109
109
static void * check_indexes (void * arg );
110
- static parray * get_index_list (PGresult * res_db , int db_number ,
111
- bool first_db_with_amcheck , PGconn * db_conn );
110
+ static parray * get_index_list (PGresult * res_db ,
111
+ bool first_db_with_amcheck , PGconn * db_conn , char * dbname );
112
112
static bool amcheck_one_index (backup_files_arg * arguments ,
113
113
pg_indexEntry * ind );
114
114
@@ -730,15 +730,18 @@ do_amcheck(void)
730
730
for (i = 0 ; i < n_databases ; i ++ )
731
731
{
732
732
int j ;
733
+ char * dbname ;
733
734
734
735
if (index_list != NULL )
735
736
{
736
737
free (index_list );
737
738
index_list = NULL ;
738
739
}
739
740
740
- index_list = get_index_list (res_db , i ,
741
- first_db_with_amcheck , db_conn );
741
+ dbname = PQgetvalue (res_db , i , 0 );
742
+
743
+ index_list = get_index_list (res_db ,
744
+ first_db_with_amcheck , db_conn , dbname );
742
745
743
746
if (index_list == NULL )
744
747
{
@@ -787,6 +790,11 @@ do_amcheck(void)
787
790
check_isok = false;
788
791
}
789
792
793
+ if (check_isok )
794
+ elog (INFO , "Amcheck succeeded for database '%s'" , dbname );
795
+ else
796
+ elog (WARNING , "Amcheck failed for database '%s'" , dbname );
797
+
790
798
/* cleanup */
791
799
pgut_disconnect (db_conn );
792
800
@@ -3176,15 +3184,13 @@ check_external_for_tablespaces(parray *external_list)
3176
3184
3177
3185
/* Get index list for given database */
3178
3186
static parray *
3179
- get_index_list (PGresult * res_db , int db_number ,
3180
- bool first_db_with_amcheck , PGconn * db_conn )
3187
+ get_index_list (PGresult * res_db , bool first_db_with_amcheck ,
3188
+ PGconn * db_conn , char * dbname )
3181
3189
{
3182
3190
PGresult * res ;
3183
3191
char * nspname = NULL ;
3184
3192
int i ;
3185
3193
3186
- dbname = PQgetvalue (res_db , db_number , 0 );
3187
-
3188
3194
db_conn = pgut_connect (instance_config .pghost , instance_config .pgport ,
3189
3195
dbname ,
3190
3196
instance_config .pguser );
@@ -3326,19 +3332,24 @@ amcheck_one_index(backup_files_arg *arguments,
3326
3332
3327
3333
if (PQresultStatus (res ) != PGRES_TUPLES_OK )
3328
3334
{
3329
- elog (WARNING , "Thread [%d]. Amcheck failed for index: '%s.%s': %s" ,
3330
- arguments -> thread_num , ind -> amcheck_nspname ,
3335
+ elog (WARNING , "Thread [%d]. Amcheck failed in database '%s' for index: '%s.%s': %s" ,
3336
+ arguments -> thread_num ,
3337
+ ind -> dbname ,
3338
+ ind -> amcheck_nspname ,
3331
3339
ind -> name , PQresultErrorMessage (res ));
3332
3340
3333
3341
pfree (params [0 ]);
3342
+ pfree (query );
3334
3343
PQclear (res );
3335
3344
return false;
3336
3345
}
3337
3346
else
3338
- elog (LOG , "Thread [%d]. Amcheck succeeded for index: '%s.%s'" ,
3339
- arguments -> thread_num , ind -> amcheck_nspname , ind -> name );
3347
+ elog (LOG , "Thread [%d]. Amcheck succeeded in database '%s' for index: '%s.%s'" ,
3348
+ arguments -> thread_num , ind -> dbname ,
3349
+ ind -> amcheck_nspname , ind -> name );
3340
3350
3341
3351
pfree (params [0 ]);
3352
+ pfree (query );
3342
3353
PQclear (res );
3343
3354
return true;
3344
3355
}
0 commit comments