For@ll wrote:
> I have problem with postgresql-9.3 in our clients. They suddenly lost
> power connection and all servers halt.. I repiar xfs filesystem on
> CentOS7 postgresql partition. Now when I want run reindex database I
> receive error:
>
> reindexdb -d ex200
> NOTICE: table "pg_catalog.pg_class" was reindexed
> reindexdb: reindexing of database "ex200" failed: ERROR: invalid page
> in block 101 of relation base/157934/12685
>
> I want to try run dump and save database on plaintext but when I start
> pg_dump it's hang...
>
> pg_dump -a -v -d ex200 > ex200.sql
> pg_dump: last built-in OID is 16383
> pg_dump: reading extensions
> pg_dump: identifying extension members
> pg_dump: reading schemas
> pg_dump: reading user-defined tables
> pg_dump: reading user-defined functions
>
> Any ideas what can I do.. Client told me they have a backup from 2
> montgs ago....
That all looks like data corruption.
PostgreSQL should survive a crash just fine; it seems like your databases
are running with unsafe storage (that doesn't honor fsync).
If the backup from 2 months ago is a physical backup and you have WAL archives,
you can simply recover up to now.
If it is just a pg_dump, then you can either live with 2 months of data loss
or you hire professionaly that might be able to get some of your data back.
If you go for the second option, take a copy of the broken database
before doing anything else with it.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com