Давича на версии 8.2.23 получили мы такую вот хрень:
postgres@cn:~> psql
psql (9.2.4, сервер 8.2.23)
ПРЕДУПРЕЖДЕНИЕ: psql имеет версию 9.2, а сервер - 8.2.
Часть функций psql может не работать.
Введите "help", чтобы получить справку.
postgres=# \c cndata
psql (9.2.4, сервер 8.2.23)
ПРЕДУПРЕЖДЕНИЕ: psql имеет версию 9.2, а сервер - 8.2.
Часть функций psql может не работать.
Вы подключены к базе данных "cndata" как пользователь "postgres".
cndata=# vacuum analyze pp_movement;
ERROR: relation "pp_movement" does not exist
cndata=# vacuum analyze cn.pp_movement;
ERROR: could not access status of transaction 655427477
ПОДРОБНОСТИ: Could not open file "pg_clog/0271": Нет такого файла или каталога.
cndata=# reindex table cn.pp_movement;
ERROR: could not access status of transaction 655427477
ПОДРОБНОСТИ: Could not open file "pg_clog/0271": Нет такого файла или каталога.
Предпосылок к возникновению такой фигни на сервере не нашли. Поэтому побродив по просторам интернета полечили таким вот способом:
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0271 bs=256K count=1
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000657219 s, 399 MB/s
cn:/opt/pgsql-8.2/data/pg_clog # chown postgres:postgres 0271
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 3332701758
ПОДРОБНОСТИ: Could not open file "pg_clog/0C6A": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0C6A bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000499456 s, 525 MB/s
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 57351653
ПОДРОБНОСТИ: Could not open file "pg_clog/0036": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0036 bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000472071 s, 555 MB/s
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 1653895707
ПОДРОБНОСТИ: Could not open file "pg_clog/0629": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0629 bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000490669 s, 534 MB/s
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 4102869982
ПОДРОБНОСТИ: Could not open file "pg_clog/0F48": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0F48 bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000469307 s, 559 MB/s
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 3931397121
ПОДРОБНОСТИ: Could not open file "pg_clog/0EA5": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0EA5 bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000490203 s, 535 MB/s
cndata=# select count(*) from cn.pp_movement;
ERROR: could not access status of transaction 309829755
ПОДРОБНОСТИ: Could not open file "pg_clog/0127": Нет такого файла или каталога.
cn:/opt/pgsql-8.2/data/pg_clog # dd if=/dev/zero of=0127 bs=256K count=1; chown postgres:postgres *
1+0 records in
1+0 records out
262144 bytes (262 kB) copied, 0.000480744 s, 545 MB/s
cndata=# select count(*) from cn.pp_movement;
count
---------
1308439
(1 строка)
Походу потеряли часть транзакций, но все заработало.
Пора валить на 9-ю версию...
Читать далее
5 лет назад