我正在尝试启动一个PostgreSQL docker容器,版本为10.5。
但在此之前,我在同一个docker-compose.yml文件中使用了9.6版本,并且数据库中没有数据。
现在更改了postgres容器的版本后,无法运行docker-compose up。它会抛出以下错误:
FATAL: 数据库文件与服务器不兼容
详细信息:数据目录由PostgreSQL 9.6初始化,不兼容该版本10.5(Debian 10.5-2.pgdg90+1)
这是docker-compose.yml文件的样子。
version: '2'
services:
postgres_service:
container_name: postgresql_container
restart: always
image: postgres:10.5
volumes:
- postgres-data:/var/lib/postgresql/data
- ./postgresql/init:/docker-entrypoint-initdb.d
ports:
- "5432:5432"
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=password
volumes:
postgres-data:
driver: local
请问有人能告诉我问题出在哪里吗?我犯了什么错误吗? 在安装新的Postgres版本之前,我需要删除任何卷吗?
我也在本地安装了PostgreSQL。
postgres=# select version();
version
-------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 10.10 (Ubuntu 10.10-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
(1 row)
这会引起任何问题吗?
postgres-data
的文件夹。不确定它在哪里。它既不在项目文件夹中,也不在根目录下。 - Underoospostgres-data
的文件夹。 - Underoos