Re: Assertion failure when autovacuum drops orphan temp indexes. - Mailing list pgsql-hackers

From Stepan Neretin
Subject Re: Assertion failure when autovacuum drops orphan temp indexes.
Date
Msg-id CAMaYL5YR0sJY8m4hbu90dmMVuFpyjZQ23oAP5Pk-pmvgoXnXbQ@mail.gmail.com
Whole thread Raw
In response to Re: Assertion failure when autovacuum drops orphan temp indexes.  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers



IIUC after an immediate shutdown all pgstat entries are wiped out so
the server doesn't have any pgstat entries for databases at this
point. And since we don't run autovacuum on databases that have no
pg_stat entries, no autovacuum worker worked on the 'postgres'
database. Please try executing any query (e.g. 'select 1') on the
'postgres' database after the restart, which creates a pgstat entry
for the database.

> sleep(5);

While the test script sleeps for 5 seconds, the server restarts after
a crash. So even if the assertion failure happens, the test would
appear to be successful. I think you can set 'restart_after_crash =
off' and execute another query using safe_psql() after the sleep. That
way, the test ends up with safe_psql() failure because the database
server is not running.

Hi, thank you for your suggestions!  But they did not help me. Autovacuum does not want to start :(

```
use strict;
use warnings;
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;


my $node = PostgreSQL::Test::Cluster->new('main');

$node->init;

$node->append_conf(
'postgresql.conf', qq[
autovacuum = on
autovacuum_naptime = 1s
autovacuum_max_workers = 1
restart_after_crash = off
]);


$node->start;

my $psql1 = $node->interactive_psql('postgres');
$psql1->query("create temp table test (a int primary key);");

$node->stop('immediate');
sleep(5);

$node->start;

sleep(3);

$node->restart;

my $psql2 = $node->interactive_psql('postgres');
$psql2->query('SELECT 1;');
$psql2->query('SELECT 1;');

my $regexp = qr/autovacuum/;
my $offset = 0;

$node->wait_for_log($regexp, $offset);

done_testing();

```

Best Regards, Stepan Neretin.

pgsql-hackers by date:

Previous
From: "huangdy2022@qq.com"
Date:
Subject: Re: msvc directory missing in PostgreSQL 17.0
Next
From: Alexander Lakhin
Date:
Subject: Re: Statistics Import and Export