mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-07-08 06:50:58 +02:00
update
This commit is contained in:
@@ -29,25 +29,6 @@ get_pgdata_version() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------- Ensure shared_preload_libraries globally ----------------
|
|
||||||
|
|
||||||
set_shared_preload_libraries() {
|
|
||||||
local libs="vchord,vectors"
|
|
||||||
local conf_file="/etc/postgresql/postgresql.conf"
|
|
||||||
|
|
||||||
if [ ! -f "$conf_file" ]; then
|
|
||||||
bashio::log.error "Could not find global /etc/postgresql/postgresql.conf"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -q "^shared_preload_libraries" "$conf_file"; then
|
|
||||||
sed -i "s|^shared_preload_libraries.*|shared_preload_libraries = '$libs'|" "$conf_file"
|
|
||||||
else
|
|
||||||
echo "shared_preload_libraries = '$libs'" >> "$conf_file"
|
|
||||||
fi
|
|
||||||
bashio::log.info "Set shared_preload_libraries = '$libs' in $conf_file"
|
|
||||||
}
|
|
||||||
|
|
||||||
# --------- Only extract vchord/vectors .so for OLD version ---------
|
# --------- Only extract vchord/vectors .so for OLD version ---------
|
||||||
extract_so_from_deb() {
|
extract_so_from_deb() {
|
||||||
local debfile="$1"
|
local debfile="$1"
|
||||||
@@ -84,7 +65,7 @@ install_vchord_and_vectors_for_old_pg() {
|
|||||||
rm -f "$vchord_deb"
|
rm -f "$vchord_deb"
|
||||||
|
|
||||||
# Download and extract vectors.so
|
# Download and extract vectors.so
|
||||||
vectors_url="https://github.com/tensorchord/pgvecto.rs/releases/download/v${pgvectors_tag}/vectors-pg${old_pgver}_${pgvectors_tag}_vectors_${targetarch}.deb"
|
vectors_url="https://github.com/tensorchord/pgvecto.rs/releases/download/v${pgvectors_tag}/vectors-pg${old_pgver}_${pgvectors_tag}_${targetarch}.deb"
|
||||||
vectors_deb="/tmp/pgvectors-${old_pgver}.deb"
|
vectors_deb="/tmp/pgvectors-${old_pgver}.deb"
|
||||||
bashio::log.info "Downloading $vectors_url"
|
bashio::log.info "Downloading $vectors_url"
|
||||||
wget -nv -O "$vectors_deb" "$vectors_url"
|
wget -nv -O "$vectors_deb" "$vectors_url"
|
||||||
@@ -105,8 +86,8 @@ upgrade_postgres_if_needed() {
|
|||||||
export PSQL_VERSION="$IMAGE_VERSION"
|
export PSQL_VERSION="$IMAGE_VERSION"
|
||||||
export SUPPORTED_POSTGRES_VERSIONS="$CLUSTER_VERSION $IMAGE_VERSION"
|
export SUPPORTED_POSTGRES_VERSIONS="$CLUSTER_VERSION $IMAGE_VERSION"
|
||||||
|
|
||||||
apt-get update
|
apt-get update &>/dev/null
|
||||||
apt-get install -y procps rsync "postgresql-$IMAGE_VERSION" "postgresql-$CLUSTER_VERSION"
|
apt-get install -y procps rsync "postgresql-$IMAGE_VERSION" "postgresql-$CLUSTER_VERSION" &>/dev/null
|
||||||
|
|
||||||
if [ ! -d "$BINARIES_DIR/$CLUSTER_VERSION/bin" ]; then
|
if [ ! -d "$BINARIES_DIR/$CLUSTER_VERSION/bin" ]; then
|
||||||
bashio::log.error "Old postgres binaries not found at $BINARIES_DIR/$CLUSTER_VERSION/bin"
|
bashio::log.error "Old postgres binaries not found at $BINARIES_DIR/$CLUSTER_VERSION/bin"
|
||||||
@@ -130,10 +111,11 @@ upgrade_postgres_if_needed() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fix_permissions
|
# Create postgresql.conf if not existing
|
||||||
|
cp -n --preserve=mode "/var/postgresql-conf-tpl/postgresql.hdd.conf" /etc/postgresql/postgresql.conf
|
||||||
|
sed -i "s@##PGDATA@$PGDATA@" /etc/postgresql/postgresql.conf
|
||||||
|
|
||||||
# Set preload libs in /etc/postgresql/postgresql.conf for both old and new
|
fix_permissions
|
||||||
set_shared_preload_libraries
|
|
||||||
|
|
||||||
bashio::log.info "Starting old Postgres ($CLUSTER_VERSION) to capture encoding/locale settings"
|
bashio::log.info "Starting old Postgres ($CLUSTER_VERSION) to capture encoding/locale settings"
|
||||||
su - postgres -c "$BINARIES_DIR/$CLUSTER_VERSION/bin/pg_ctl -w -D '$PGDATA' -o \"-c config_file=/etc/postgresql/postgresql.conf\" start"
|
su - postgres -c "$BINARIES_DIR/$CLUSTER_VERSION/bin/pg_ctl -w -D '$PGDATA' -o \"-c config_file=/etc/postgresql/postgresql.conf\" start"
|
||||||
@@ -156,9 +138,6 @@ upgrade_postgres_if_needed() {
|
|||||||
|
|
||||||
fix_permissions
|
fix_permissions
|
||||||
|
|
||||||
# Again set shared_preload_libraries for new cluster
|
|
||||||
set_shared_preload_libraries
|
|
||||||
|
|
||||||
bashio::log.info "Running pg_upgrade from $CLUSTER_VERSION → $IMAGE_VERSION"
|
bashio::log.info "Running pg_upgrade from $CLUSTER_VERSION → $IMAGE_VERSION"
|
||||||
chmod 700 "$PGDATA"
|
chmod 700 "$PGDATA"
|
||||||
chmod 700 "$backup_target"
|
chmod 700 "$backup_target"
|
||||||
|
|||||||
Reference in New Issue
Block a user