|
проблема с базой (системными индексами)
|
|||
---|---|---|---|
#18+
Добрый день, коллеги. Недавно столкнулся с одной проблемой. У нас есть 1Ска и есть сервер postgresql для нее. И в один прекрасный момент pg_dump начал писать: pg_dump: [archiver (db)] query failed: ERROR: invalid page in block 11936 of relation base/1790783/11885 База 1С при этом работает нормально, проблем у пользователей нет. С файловой системой тоже все ОК, сам файл копируется. Если делать выгрузку базы из 1С то она выдает "ошибку СУБД". Чтобы разобраться в проблеме, я сделал снепшот всего постгреса и развернул его в на виртуалке. Сервер запустился. Решил попробовать reindexdb, получил вот это: NOTICE: table "pg_catalog.pg_class" was reindexed reindexdb: reindexing of database "BAZA" failed: ERROR: could not create Uique index "pg_statistic_relid_att_inh_index" DETAIL: Key (starelid, staattnum, stainherit)=(5699549, 12, f) is duplicated. Решил думаю пересоздать индексы в базе, делаю под дефолтовой учеткой postgres но получил ошибку: DROP INDEX pg_catalog.pg_statistic_relid_att_inh_index; ERROR: permission denied: "pg_statistic_relid_att_inh_index" is a system catalog На этом этапе pg_dump уже не ругается на invalid page in block но зависает с надписью "saving database definition" Подскажите куда дальше смотреть или может я вообще не в ту степь ушел. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 12:18 |
|
проблема с базой (системными индексами)
|
|||
---|---|---|---|
#18+
papay.san, Попробуйте включить параметр ignore_system_indexes, сделать копию БД через pg_dump и восстановить в новой базе, где нет проблем с системным каталогом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 12:26 |
|
проблема с базой (системными индексами)
|
|||
---|---|---|---|
#18+
Павел Лузанов, Я с базами данных практически не сталкивался, вникать пытаюсь только сейчас. Поэтому я опасаюсь даже перезагружать сейчас боевой сервер, сделаю это на моей виртуалке. тем более в пятницу 13 :) НО. Системный каталог это что? где он? Если имеется ввиду БД postgres то я там уже делал реиндекс и он вроде прошел нормально: NOTICE: table "pg_catalog.pg_class" was reindexed NOTICE: table "pg_catalog.pg_statistic" was reindexed NOTICE: table "pg_catalog.pg_type" was reindexed NOTICE: table "pg_catalog.pg_authid" was reindexed NOTICE: table "pg_catalog.pg_user_mapping" was reindexed NOTICE: table "pg_catalog.pg_attribute" was reindexed NOTICE: table "pg_catalog.pg_proc" was reindexed NOTICE: table "pg_catalog.pg_attrdef" was reindexed NOTICE: table "pg_catalog.pg_constraint" was reindexed NOTICE: table "pg_catalog.pg_index" was reindexed NOTICE: table "pg_catalog.pg_operator" was reindexed NOTICE: table "pg_catalog.pg_opfamily" was reindexed NOTICE: table "pg_catalog.pg_opclass" was reindexed NOTICE: table "pg_catalog.pg_am" was reindexed NOTICE: table "pg_catalog.pg_amop" was reindexed NOTICE: table "pg_catalog.pg_amproc" was reindexed NOTICE: table "pg_catalog.pg_language" was reindexed NOTICE: table "pg_catalog.pg_database" was reindexed NOTICE: table "pg_catalog.pg_aggregate" was reindexed NOTICE: table "pg_catalog.pg_rewrite" was reindexed NOTICE: table "pg_catalog.pg_trigger" was reindexed NOTICE: table "pg_catalog.pg_event_trigger" was reindexed NOTICE: table "pg_catalog.pg_description" was reindexed NOTICE: table "pg_catalog.pg_cast" was reindexed NOTICE: table "pg_catalog.pg_enum" was reindexed NOTICE: table "pg_catalog.pg_namespace" was reindexed NOTICE: table "pg_catalog.pg_conversion" was reindexed NOTICE: table "pg_catalog.pg_depend" was reindexed NOTICE: table "pg_catalog.pg_db_role_setting" was reindexed NOTICE: table "pg_catalog.pg_tablespace" was reindexed NOTICE: table "pg_catalog.pg_pltemplate" was reindexed NOTICE: table "pg_catalog.pg_auth_members" was reindexed NOTICE: table "pg_catalog.pg_shdepend" was reindexed NOTICE: table "pg_catalog.pg_shdescription" was reindexed NOTICE: table "pg_catalog.pg_ts_config" was reindexed NOTICE: table "pg_catalog.pg_ts_config_map" was reindexed NOTICE: table "pg_catalog.pg_ts_dict" was reindexed NOTICE: table "pg_catalog.pg_ts_parser" was reindexed NOTICE: table "pg_catalog.pg_ts_template" was reindexed NOTICE: table "pg_catalog.pg_extension" was reindexed NOTICE: table "pg_catalog.pg_foreign_data_wrapper" was reindexed NOTICE: table "pg_catalog.pg_foreign_server" was reindexed NOTICE: table "pg_catalog.pg_foreign_table" was reindexed NOTICE: table "pg_catalog.pg_default_acl" was reindexed NOTICE: table "pg_catalog.pg_seclabel" was reindexed NOTICE: table "pg_catalog.pg_shseclabel" was reindexed NOTICE: table "pg_catalog.pg_collation" was reindexed NOTICE: table "pg_catalog.pg_range" was reindexed NOTICE: table "pg_catalog.pg_largeobject" was reindexed NOTICE: table "information_schema.sql_implementation_info" was reindexed NOTICE: table "information_schema.sql_languages" was reindexed NOTICE: table "information_schema.sql_packages" was reindexed NOTICE: table "information_schema.sql_sizing" was reindexed NOTICE: table "information_schema.sql_sizing_profiles" was reindexed NOTICE: table "pg_catalog.pg_largeobject_metadata" was reindexed NOTICE: table "pg_catalog.pg_inherits" was reindexed NOTICE: table "information_schema.sql_features" was reindexed NOTICE: table "information_schema.sql_parts" was reindexed ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 12:41 |
|
проблема с базой (системными индексами)
|
|||
---|---|---|---|
#18+
Павел Лузанов, на тестовом сервере с параметром ignore_system_indexes pd_dump показал вот это: pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: WARNING: using index "pg_toast_5698647_index" despite IgnoreSystemIndexes pg_dump: Dumping the contents of table "_systemsettings" failed: PQgetResult() failed. pg_dump: Error message from server: ERROR: missing chunk number 0 for toast value 7009719 in pg_toast_5698647 pg_dump: The command was: COPY public._systemsettings (_userid, _objectkey, _settingskey, _version, _settingspresentation, _settingsdata, _dataseparationuse1886, _dataseparationuse1887, _fld1885, _fld1542) TO stdout; варнингов в процессе было много ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 13:45 |
|
проблема с базой (системными индексами)
|
|||
---|---|---|---|
#18+
papay.san, Скажу банальность, но сложно лечить по фотографии, вам бы спецов пригласить. Судя по указанной ошибке "побился" индекс на toast-таблицу от public._systemsettings. Ну попробуте на тестовом сервере сделать: reindex public._systemsettings; или даже vacuum full public._systemsettings; Если прокатит, то делайте дамп и разворачивайте в новой базе и на других дисках. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 14:42 |
|
|
start [/forum/topic.php?fid=53&tid=1996169]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 406ms |
0 / 0 |