PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

kesalahan postgresql PANIC:tidak dapat menemukan catatan pos pemeriksaan yang valid

Ini mencari catatan pos pemeriksaan di log transaksi yang mungkin tidak ada atau rusak. Anda dapat menentukan apakah ini masalahnya dengan menjalankan:

# Postgres >= 10
pg_resetwal DATADIR

# Postgres < 10
pg_resetxlog DATADIR

Jika log transaksi rusak, Anda akan melihat pesan seperti:

Server database tidak dimatikan dengan bersih. Menyetel ulang log transaksi dapat menyebabkan hilangnya data. Jika Anda ingin tetap melanjutkan, gunakan -f untuk memaksa reset.

Anda kemudian dapat mengikuti instruksi dan menjalankan dengan -f untuk memaksa pembaruan:

# Postgres >= 10
pg_resetwal -f DATADIR

# Postgres < 10
pg_resetxlog -f DATADIR 

Itu harus mengatur ulang log transaksi, namun itu bisa membuat database Anda dalam keadaan tidak pasti seperti yang dijelaskan dalam dokumentasi PostgreSQL di pg_resetwal :

Jika pg_resetwal mengeluh bahwa itu tidak dapat menentukan data yang valid untukpg_control , Anda dapat memaksanya untuk tetap melanjutkan dengan menentukan -f (kekuatan) pilihan. Dalam hal ini nilai yang masuk akal akan menggantikan data yang hilang. Sebagian besar bidang dapat diharapkan cocok, tetapi bantuan manual mungkin diperlukan untuk OID berikutnya, ID transaksi dan epoch berikutnya, ID dan offset multitransaksi berikutnya, dan bidang lokasi awal WAL. Bidang ini dapat diatur menggunakan opsi yang dibahas di bawah ini. Jika Anda tidak dapat menentukan nilai yang benar untuk semua bidang ini, -f masih dapat digunakan, tetapi database yang dipulihkan harus diperlakukan dengan kecurigaan yang lebih dari biasanya:dump andreload segera sangat penting. Jangan menjalankan operasi pengubahan data apa pun dalam database sebelum Anda membuangnya, karena tindakan semacam itu kemungkinan akan memperburuk korupsi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengembalikan id pada Sisipan dengan Ibatis ( dengan kata kunci RETURNING )

  2. Bagaimana cara mereset kata sandi pengguna default postgresql 9.2 (biasanya 'postgres') di mac os x 10.8.2?

  3. Cara menyisipkan secara massal hanya baris baru di PostreSQL

  4. Apakah lebih baik menggunakan beberapa database dengan satu skema masing-masing, atau satu database dengan beberapa skema?

  5. TypeError:objek 'int' tidak mendukung pengindeksan