# prefetch mode might or might not be available
my ($cmdret, $stdout, $stderr) =
$node->psql("postgres", "SELECT pg_prewarm('test', 'prefetch');");
ok( ( $stdout =~ qr/^[1-9][0-9]*$/
or $stderr =~ qr/prefetch is not supported by this build/), 'prefetch mode succeeded');
# test_user should be unable to prewarm table/index without privileges
($cmdret, $stdout, $stderr) =
$node->psql( "postgres", "SELECT pg_prewarm('test');",
extra_params => [ '--username' => 'test_user' ]);
ok($stderr =~ /permission denied for table test/, 'pg_prewarm failed as expected');
($cmdret, $stdout, $stderr) =
$node->psql( "postgres", "SELECT pg_prewarm('test_idx');",
extra_params => [ '--username' => 'test_user' ]);
ok($stderr =~ /permission denied for index test_idx/, 'pg_prewarm failed as expected');
# test_user should be able to prewarm table/index with privileges
$node->safe_psql("postgres", "GRANT SELECT ON test TO test_user;");
$result =
$node->safe_psql( "postgres", "SELECT pg_prewarm('test');",
extra_params => [ '--username' => 'test_user' ]);
like($result, qr/^[1-9][0-9]*$/, 'pg_prewarm succeeded as expected');
$result =
$node->safe_psql( "postgres", "SELECT pg_prewarm('test_idx');",
extra_params => [ '--username' => 'test_user' ]);
like($result, qr/^[1-9][0-9]*$/, 'pg_prewarm succeeded as expected');
# restart, to verify that auto prewarm actually works
$node->restart;
$node->wait_for_log( "autoprewarm successfully prewarmed [1-9][0-9]* of [0-9]+ previously-loaded blocks"
);
$node->stop;
# control file should indicate normal shut down
command_like(
[ 'pg_controldata', $node->data_dir() ],
qr/Database cluster state:\s*shut down/, 'cluster shut down normally');
done_testing();
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-08-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.