Hello

                drop_lsn = GetXLogInsertRecPtr();
-
+               RegisterDropDatabaseLog(db_id, dbname, drop_lsn, 
already_invalid);
+       }

...

+       if (!dropdb_callback_registered)
+       {
+               RegisterXactCallback(DropDbXactCallback, NULL);

If a backend crashes between them the callback doesn't run and we are
left with an invalid database without logging it.

You can reproduce this by stopping the drop at the
'dropdb-after-invalid-marker' injection point and killing the backend.


Reply via email to