postgresql: fix fails to start on mounted data directories

This commit resolves a bug where the PostgreSQL service failed to start
during the boot process when its data directory ($pgdata) was on a
partition mounted via `/etc/fstab`.
Because the filesystem is already mounted, no hotplug event is ever
triggered, and the PostgreSQL service mistakenly waits for an event
that will never happen.
This fix adds a check to ensure the script does not skip starting the
service if the data directory is on a mount point.

Signed-off-by: Peiying Huang <eiying0517@gmail.com>
This commit is contained in:
Peiying Huang
2025-08-12 14:12:00 +08:00
committed by Hannu Nyman
parent eec8d422dd
commit 74172f6c54
2 changed files with 6 additions and 2 deletions

View File

@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=postgresql
PKG_VERSION:=17.5
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=PostgreSQL
PKG_CPE_ID:=cpe:/a:postgresql:postgresql

View File

@@ -32,8 +32,12 @@ start_service() {
user_exists postgres 5432 || user_add postgres 5432
group_exists postgres 5432 || group_add postgres 5432
local mountpoint="$(procd_get_mountpoints "${pgdata}")"
[ "$_BOOT" = "1" ] &&
[ "$(procd_get_mountpoints $pgdata)" ] && return 0
[ "$mountpoint" ] &&
! grep -q ".* $mountpoint " /proc/mounts &&
return 0
fix_perms
fix_hosts