Alvaro,
Gracias por responder. intercalo mas abajo . 2017-10-20 6:57 GMT-03:00 Alvaro Herrera <[email protected]>: > Juan escribió: >> Ahora lo confirmo, da error. >> >> db=# reindex table pg_catalog.pg_statistic ; >> ERROR: cannot execute REINDEX during recovery >> >> Podria bajarlo (para el standby) y reindexar pero no se si volviera a >> replicar no tiene que peder >> transacciones y el master seguira transaccionando. >> Tampoco estoy seguro que esas cosas se repliquen, porque reindexando >> en el master >> deberia replicar., si es aue eso se replica. >> No quiero tomar acciones que puedan dejar inservible el standby. >> >> Si alguien sabe que se puede reindexar , aunque sea parando el master. lo >> haria > > El standby es una copia idéntica, bit a bit, del primario. Cualquier > acción que tomes en el primario se replicará. Si algo está corrupto en > el standby, tienes dos opciones: también está corrupto en el primario, o > bien el standby tuvo un problema durante la replicación que dejó las > cosas no idénticas. en el master select * from pg_user ; funciona, en la replica no. da ERROR: wrong number of index expressions > > Para salir del paso, seguramente puedes hacer un REINDEX de ese catálogo > en el primario. Pero quizás el problema no sea el índice sino el > catálogo mismo; si es sólo ese catálogo, estás de suerte, porque es un > catálogo desechable: basta con darle TRUNCATE a ese catálogo y luego > ejecutar ANALYZE. ES seguro darle truncate a las tablas del catalogo? No creo entenderte bien lo de truncate y luego analize. > > Ahora, si se corrompió un catálogo, no hay ninguna razon para pensar que > no se haya corrompido otro. > > 9.1 ya no está en soporte. Quizás haya un bug que haya causado la > corrupción. Actualiza a una versión soportada. > > Si tus datos son críticos, contrata soporte. > > -- > Álvaro Herrera https://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
