FATAL:修复磁盘并更改数据文件夹位置postgres docker后,锁定文件“ postmaster.pid”中的伪造数据

问题描述 投票:0回答:1

我们的硬盘驱动器出现问题,其中包含我们修复的postgres数据库的数据文件夹,现在,当我们尝试启动数据库容器时,将数据文件夹移动到新的硬盘驱动器上,会出现以下错误。

db_1                | 
db_1                | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1                | 
db_1                | FATAL:  bogus data in lock file "postmaster.pid": ""

我试图删除postmaster.pid文件,但随后出现以下错误,

db_1                | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1                | 
db_1                | LOG:  database system was interrupted; last known up at 2020-04-07 18:03:04 UTC
db_1                | LOG:  invalid primary checkpoint record
db_1                | LOG:  invalid secondary checkpoint record
db_1                | PANIC:  could not locate a valid checkpoint record
db_1                | LOG:  startup process (PID 28) was terminated by signal 6: Aborted
db_1                | LOG:  aborting startup due to startup process failure
app_db_1 exited with code 1

我们确实需要数据,我们没有任何备份,我应该做的docker-compose.yml包含数据库容器的以下内容,

db:
  image: postgres:9.4
  volumes:
    - /mnt/hdd4/postgresql/data:/var/lib/postgresql/data
    - ./tmp:/tmp/docker
  ports:
    - "5432"

如果需要更多信息,请告诉我。

postgresql docker ruby-on-rails-4 docker-compose containers
1个回答
0
投票

似乎数据库的重要部分被磁盘问题破坏了。如果您有备份,那就该还原它了。如果没有,那么您最好雇用一名PostgreSQL顾问,他擅长从这样的损坏数据库中挽救数据。

© www.soinside.com 2019 - 2024. All rights reserved.