1.9Kпросмотров
25 октября 2025 г.
stats📷 ФотоScore: 2.0K
🐘 PostgreSQL 1️⃣8️⃣ вышел, но есть подвох для Docker-пользователей!💻 Вы разворачиваете n8n вместе с PostgreSQL и не понимаете почему у вас ни чего не работает🔹🔹🔹
Тогда читайте ниже, я поделюсь с вами!!! В сети гуляет стандартный образ Docker-Compose вместе с n8n. Кто то его под себя улучшает, но суть в нем всегда одна. При установке PostgreSQL ни кто почти не пишет версию базы данных которая ставить (я тоже обычное не заморачивался, все так делают и я. Мол пусть ставится последняя свежая версия Postgres)
postgres: image: postgres а можно было вот писать в образе⬇️⬇️⬇️
postgres: image: postgres:17 Я столкнулся с тем, что очередное 15-минутное занятие по подниманию новой рабочей машины N8N заняло у меня целый час.
Как обычно ожидал что пока я буду что то там делать быстро все поднимется. Заходя по url n8n я смотрю, что не работает ни чего.
Ясное дело🤔🤔 пошел смотреть лог 💬🤦
docker compose logs
Изучая его, смотрю у меня не работает postgres
Что то там с правами. Окей подумал я, я забыл или volume создать или не указал права на папку postgres А суть проблемы оказалось куда глубже.
🟢 25 сентября 🐘 PostgreSQL обновилось до версии 18. И тут до меня стало что то доходить. Я подумал что возможно что то поменялось у них. И так как мне надо было срочно поднять сервер, сразу указал версию postgres: image: postgres:17
И на мое удивление все заработало. Сегодня моя ученица спросила, почему у меня ни чего не работает. Ответ просто-
⚠️Путь куда кладутся все файлы изменился:
PostgreSQL 17 и ранее:
text
volumes: - postgres_data:/var/lib/postgresql/data PostgreSQL 18:
text
volumes: - postgres_data:/var/lib/postgresql # без /data!
Выдержка из документации postgres
Important Note: (for PostgreSQL 17 and below) Mount the data volume at /var/lib/postgresql/data and not at /var/lib/postgresql because mounts at the latter path WILL NOT PERSIST database data when the container is re-created. The Dockerfile that builds the image declares a volume at /var/lib/postgresql/data and if no data volume is mounted at that path then the container runtime will automatically create an anonymous volume that is not reused across container re-creations. Data will be written to the anonymous volume rather than your intended data volume and won't persist when the container is deleted and re-created.
В комментариях ищи полный образ Docker-Compose 🐘 PostgreSQL А вы знали про это? @mirrox_hub #postgres