This commit is contained in:
alexbelgium
2025-05-29 17:11:19 +02:00
parent a9dc1c45f8
commit 53fe7f7d8f
2 changed files with 34 additions and 1 deletions

View File

@@ -39,5 +39,5 @@
"slug": "postgres",
"udev": true,
"url": "https://github.com/alexbelgium/hassio-addons/tree/master/postgres",
"version": "15.7-37"
"version": "15.7-37_test2"
}

View File

@@ -37,6 +37,36 @@ get_pgdata_version() {
# ------------------ Cluster upgrade logic ---------------------
install_vchord_and_vectors() {
local pgver
local vectorchord_tag="${VECTORCHORD_TAG:-v0.4.1}"
local pgvectors_tag="${PGVECTORS_TAG:-0.3.0}"
local targetarch="${TARGETARCH:-amd64}"
for pgver in "$1" "$2"; do
# vchord
local vchord_url="https://github.com/tensorchord/VectorChord/releases/download/${vectorchord_tag}/postgresql-${pgver}-vchord_${vectorchord_tag#v}-1_${targetarch}.deb"
bashio::log.info "Downloading $vchord_url"
wget -nv -O "/tmp/vchord-${pgver}.deb" "$vchord_url"
apt-get install -y "/tmp/vchord-${pgver}.deb"
rm -f "/tmp/vchord-${pgver}.deb"
# vectors (optional, skip if empty)
if [ -n "${pgvectors_tag}" ]; then
vectors_url="https://github.com/tensorchord/pgvecto.rs/releases/download/v${pgvectors_tag}/vectors-pg${pgver}_${pgvectors_tag#v}_${targetarch}"
if [ "${pgvectors_tag}" = "0.3.0" ]; then
vectors_url="${vectors_url}_vectors"
fi
vectors_url="${vectors_url}.deb"
bashio::log.info "Downloading $vectors_url"
wget -nv -O "/tmp/pgvectors-${pgver}.deb" "$vectors_url"
apt-get install -y "/tmp/pgvectors-${pgver}.deb"
rm -f "/tmp/pgvectors-${pgver}.deb"
fi
done
apt-get clean -y && rm -rf /var/lib/apt/lists/*
}
upgrade_postgres_if_needed() {
CLUSTER_VERSION=$(get_pgdata_version)
IMAGE_VERSION="$PG_MAJOR_VERSION"
@@ -64,6 +94,9 @@ upgrade_postgres_if_needed() {
exit 1
fi
# Install extensions
install_vchord_and_vectors "$CLUSTER_VERSION" "$IMAGE_VERSION"
# Prepare backup
mkdir -p "$BACKUP_DIR"
backup_target="$BACKUP_DIR/postgresql-$CLUSTER_VERSION"