фикс pxf

This commit is contained in:
2026-01-08 23:34:26 +03:00
parent 1efeb58449
commit 573c853f15
5 changed files with 47 additions and 42 deletions
+8 -4
View File
@@ -61,10 +61,14 @@ copy_seed_file \
"${PXF_BASE}/conf/pxf-application.properties" \
"pxf-application.properties"
copy_seed_file \
"${PXF_CONF_SEED_DIR}/pxf-env.sh" \
"${PXF_BASE}/conf/pxf-env.sh" \
"pxf-env.sh"
if [ -f "${PXF_BASE}/conf/pxf-env.sh" ]; then
copy_seed_file \
"${PXF_CONF_SEED_DIR}/pxf-env.sh" \
"${PXF_BASE}/conf/pxf-env.sh" \
"pxf-env.sh"
else
log_info "pxf-env.sh отсутствует в ${PXF_BASE}/conf, пропускаем копирование до инициализации PXF"
fi
# Устанавливаем уменьшенные JVM-опции, если они ещё не заданы явно
if [ -f "${PXF_BASE}/conf/pxf-env.sh" ]; then
+20 -7
View File
@@ -13,22 +13,35 @@ ensure_pxf_extension() {
return 0
fi
for _ in $(seq 1 "${attempts}"); do
extension_exists() {
local result
result=$(PGPASSWORD="${gp_password}" /usr/local/greenplum-db/bin/psql \
-h 127.0.0.1 -p 5432 -U "${gp_user}" -d "${gp_db}" \
-t -A -c "SELECT 1 FROM pg_extension WHERE extname='pxf';" 2>/dev/null || true)
[ "${result}" = "1" ]
}
for attempt in $(seq 1 "${attempts}"); do
if /usr/local/greenplum-db/bin/pg_isready \
-h 127.0.0.1 -p 5432 -U "${gp_user}" -d "${gp_db}" >/dev/null 2>&1; then
if extension_exists; then
echo "INFO - extension pxf уже создано"
return 0
fi
if PGPASSWORD="${gp_password}" /usr/local/greenplum-db/bin/psql \
-h 127.0.0.1 -p 5432 -U "${gp_user}" -d "${gp_db}" \
-v ON_ERROR_STOP=1 -c "CREATE EXTENSION IF NOT EXISTS pxf;" >/dev/null; then
echo "INFO - extension pxf готово"
else
echo "WARN - не удалось создать extension pxf"
-v ON_ERROR_STOP=1 -c "CREATE EXTENSION IF NOT EXISTS pxf;" >/dev/null 2>&1; then
if extension_exists; then
echo "INFO - extension pxf готово"
return 0
fi
fi
return 0
echo "WARN - попытка ${attempt}/${attempts}: не удалось создать extension pxf"
fi
sleep 2
done
echo "WARN - Greenplum не готов, пропускаем CREATE EXTENSION pxf"
echo "WARN - Greenplum не готов или extension pxf не создано"
}
if [ -f "${ensure_script}" ]; then