kopia lustrzana https://github.com/kartoza/docker-postgis
rodzic
fd0f76c291
commit
863494e5af
|
@ -272,6 +272,13 @@ POSTGRES_MULTIPLE_EXTENSIONS=postgis,pgrouting:3.4.0
|
||||||
where `pgrouting:3.4.0` The extension name is fixed with the version name with the delimiter being a
|
where `pgrouting:3.4.0` The extension name is fixed with the version name with the delimiter being a
|
||||||
colon.
|
colon.
|
||||||
|
|
||||||
|
**Note** In some cases, some versions of extensions might not be available for
|
||||||
|
install. To enable them you can do the following inside the container:
|
||||||
|
```bash
|
||||||
|
wget --directory-prefix /usr/share/postgresql/15/extension/ https://raw.githubusercontent.com/postgres/postgres/master/contrib/hstore/hstore--1.1--1.2.sql
|
||||||
|
```
|
||||||
|
Then proceed to install it the normal way.
|
||||||
|
|
||||||
#### Shared preload libraries
|
#### Shared preload libraries
|
||||||
|
|
||||||
Some PostgreSQL extensions require shared_preload_libraries to be specified in the conf files.
|
Some PostgreSQL extensions require shared_preload_libraries to be specified in the conf files.
|
||||||
|
|
|
@ -17,6 +17,7 @@ RECOVERY_CONF="$ROOT_CONF/recovery.conf"
|
||||||
POSTGRES="/usr/lib/postgresql/${POSTGRES_MAJOR_VERSION}/bin/postgres"
|
POSTGRES="/usr/lib/postgresql/${POSTGRES_MAJOR_VERSION}/bin/postgres"
|
||||||
INITDB="/usr/lib/postgresql/${POSTGRES_MAJOR_VERSION}/bin/initdb"
|
INITDB="/usr/lib/postgresql/${POSTGRES_MAJOR_VERSION}/bin/initdb"
|
||||||
SQLDIR="/usr/share/postgresql/${POSTGRES_MAJOR_VERSION}/contrib/postgis-${POSTGIS_MAJOR}.${POSTGIS_MINOR_RELEASE}/"
|
SQLDIR="/usr/share/postgresql/${POSTGRES_MAJOR_VERSION}/contrib/postgis-${POSTGIS_MAJOR}.${POSTGIS_MINOR_RELEASE}/"
|
||||||
|
EXTDIR="/usr/share/postgresql/${POSTGRES_MAJOR_VERSION}/extension/"
|
||||||
SETVARS="POSTGIS_ENABLE_OUTDB_RASTERS=1 POSTGIS_GDAL_ENABLED_DRIVERS=ENABLE_ALL"
|
SETVARS="POSTGIS_ENABLE_OUTDB_RASTERS=1 POSTGIS_GDAL_ENABLED_DRIVERS=ENABLE_ALL"
|
||||||
LOCALONLY="-c listen_addresses='127.0.0.1'"
|
LOCALONLY="-c listen_addresses='127.0.0.1'"
|
||||||
PG_BASEBACKUP="/usr/bin/pg_basebackup"
|
PG_BASEBACKUP="/usr/bin/pg_basebackup"
|
||||||
|
@ -526,9 +527,25 @@ function extension_install() {
|
||||||
psql ${DATABASE} -U ${POSTGRES_USER} -p 5432 -h localhost -c "CREATE EXTENSION IF NOT EXISTS \"${EXTENSION_NAME}\" cascade;"
|
psql ${DATABASE} -U ${POSTGRES_USER} -p 5432 -h localhost -c "CREATE EXTENSION IF NOT EXISTS \"${EXTENSION_NAME}\" cascade;"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -e "\e[32m [Entrypoint] Installing extension \e[1;31m ${EXTENSION_NAME} \e[32m with version \e[1;31m ${EXTENSION_VERSION} \e[32m in the database : \e[1;31m ${DATABASE} \033[0m"
|
|
||||||
if [[ ${EXTENSION_NAME} != 'pg_cron' ]]; then
|
if [[ ${EXTENSION_NAME} != 'pg_cron' ]]; then
|
||||||
psql ${DATABASE} -U ${POSTGRES_USER} -p 5432 -h localhost -c "CREATE EXTENSION IF NOT EXISTS \"${EXTENSION_NAME}\" WITH VERSION '${EXTENSION_VERSION}' cascade;"
|
pattern="${EXTENSION_NAME}--"
|
||||||
|
last_numbers=()
|
||||||
|
for file in "$EXTDIR"/${pattern}*; do
|
||||||
|
filename=$(basename "$file" .sql)
|
||||||
|
if [[ "$filename" == *"--"* ]]; then
|
||||||
|
last_number=$(echo "$filename" | awk -F '--' '{print $NF}')
|
||||||
|
if [[ ! " ${last_numbers[@]} " =~ " $last_number " ]]; then
|
||||||
|
last_numbers+=("$last_number")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ " ${last_numbers[@]} " =~ " $EXTENSION_VERSION " ]]; then
|
||||||
|
echo -e "\e[32m [Entrypoint] Installing extension \e[1;31m ${EXTENSION_NAME} \e[32m with version \e[1;31m ${EXTENSION_VERSION} \e[32m in the database : \e[1;31m ${DATABASE} \033[0m"
|
||||||
|
psql ${DATABASE} -U ${POSTGRES_USER} -p 5432 -h localhost -c "CREATE EXTENSION IF NOT EXISTS \"${EXTENSION_NAME}\" WITH VERSION '${EXTENSION_VERSION}' cascade;"
|
||||||
|
else
|
||||||
|
echo -e "\e[32m [Entrypoint] Extension \e[1;31m ${EXTENSION_NAME} \e[32m with version \e[1;31m ${EXTENSION_VERSION} \e[32m is not available for install, available versions to install are \e[1;31m "${last_numbers[@]}" \033[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue