我们的硬盘驱动器出现问题,其中包含我们修复的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顾问,他擅长从这样的损坏数据库中挽救数据。