Failover procedure on multinode env with pg_restore

  • PostgreSQL 14.3 (Ubuntu 14.3-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0 3ubuntu1~18.04) 7.5.0, 64-bit
  • Ubuntu 18.04.5 LTS

archive_command = ‘test ! -f /var/lib/postgresql/14/main/archive/%f && cp %p /var/lib/postgresql/14/main/archive/%f’
archive_mode = ‘on’
archive_timeout = ‘600’
data_directory = ‘/var/lib/postgresql/14/main’
datestyle = ‘iso, mdy’
default_text_search_config = ‘pg_catalog.english’
enable_partitionwise_aggregate = ‘on’
external_pid_file = ‘/var/run/postgresql/14-main.pid’
hba_file = ‘/etc/postgresql/14/main/pg_hba.conf’
ident_file = ‘/etc/postgresql/14/main/pg_ident.conf’
jit = ‘off’
listen_addresses = ‘*’
log_line_prefix = '%t ’
max_connections = 100
max_prepared_transactions = ‘150’
port = ‘5432’
shared_buffers = ‘24MB’
shared_preload_libraries = ‘pg_stat_statements,timescaledb’
ssl = ‘off’
unix_socket_directories = ‘/var/run/postgresql’
wal_level = ‘replica’

On each node import users with globals.sql

  • create database manual
  • install timescaledb - CREATE EXTENSION IF NOT EXISTS timescaledb;
  • perform: SELECT timescaledb_pre_restore();
  • import backup, with pg_restore -Fd -v -d test test
  • perform: SELECT timescaledb_post_restore();

trying query:
test=# select count(*) from sensor_data;
ERROR: tried calling catalog_get when extension isn’t loaded

in log
2022-07-01 12:30:26 GMT CONTEXT: PL/pgSQL function inline_code_block line 16 at RAISE
2022-07-01 12:30:30 GMT FATAL: terminating background worker “TimescaleDB Background Worker Scheduler” due to administrator command
2022-07-01 12:30:30 GMT WARNING: telemetry error: HTTP connection read error
2022-07-01 12:30:30 GMT FATAL: terminating background worker “Telemetry Reporter [1]” due to administrator command
2022-07-01 12:30:30 GMT LOG: background worker “TimescaleDB Background Worker Scheduler” (PID 903) exited with exit code 1
2022-07-01 12:30:30 GMT LOG: background worker “Telemetry Reporter [1]” (PID 904) exited with exit code 1
2022-07-01 12:32:22 GMT ERROR: tried calling catalog_get when extension isn’t loaded
2022-07-01 12:32:22 GMT LOG: background worker “TimescaleDB Background Worker Scheduler” (PID 971) exited with exit code 1
2022-07-01 12:33:42 GMT ERROR: tried calling catalog_get when extension isn’t loaded
2022-07-01 12:33:42 GMT STATEMENT: select count(*) from sensor_data;

what I am doing wrong?