diff --git a/docker_bigdata/Dockerfile b/docker_bigdata/Dockerfile index 9c2aa70..87ff842 100644 --- a/docker_bigdata/Dockerfile +++ b/docker_bigdata/Dockerfile @@ -22,5 +22,4 @@ RUN source /opt/utils/script-setup.sh \ && echo "Install redis-cli:" && setup_redis_client \ && echo "Install pyspark:" && install_pip /opt/utils/list_install_pip_pyspark.txt \ && echo "Install pyflink:" && install_pip /opt/utils/list_install_pip_pyflink.txt \ - && pip install --no-deps apache-flink \ && echo "Clean up" && list_installed_packages && install__clean diff --git a/docker_bigdata/work/list_install_pip_pyflink.txt b/docker_bigdata/work/list_install_pip_pyflink.txt index d82a669..8fefba0 100644 --- a/docker_bigdata/work/list_install_pip_pyflink.txt +++ b/docker_bigdata/work/list_install_pip_pyflink.txt @@ -1,9 +1,2 @@ % from: https://github.com/apache/flink/blob/master/flink-python/setup.py -pemja -pandas -pyarrow -apache-beam -cloudpickle -avro-python3 -requests -% apache-flink % tempfix bu install without deps +pemja pandas pyarrow apache-beam cloudpickle avro-python3 requests apache-flink diff --git a/docker_bigdata/work/list_install_pip_pyspark.txt b/docker_bigdata/work/list_install_pip_pyspark.txt index e4036b0..e45d456 100644 --- a/docker_bigdata/work/list_install_pip_pyspark.txt +++ b/docker_bigdata/work/list_install_pip_pyspark.txt @@ -1,4 +1,2 @@ % from: https://github.com/apache/spark/blob/master/python/setup.py#L262 -pyspark -pandas -pyarrow +pyspark pandas pyarrow diff --git a/docker_greenplum/Dockerfile b/docker_greenplum/Dockerfile index ffc642f..c598e96 100644 --- a/docker_greenplum/Dockerfile +++ b/docker_greenplum/Dockerfile @@ -8,10 +8,10 @@ COPY rootfs / RUN set -x && source /opt/utils/script-utils.sh \ && install_apt /opt/utils/install_list_greenplum.apt \ && apt-get -qq install -yq --no-install-recommends gcc g++ bison flex cmake pkg-config ccache ninja-build \ - && VERSION_GPDB_RELEASE=$(curl -sL https://github.com/greenplum-db/gpdb/releases.atom | grep 'releases/tag' | grep "7." | head -1 | grep -Po '\d[\d.]+' ) \ - && URL_GBDP="https://github.com/greenplum-db/gpdb/releases/download/${VERSION_GPDB_RELEASE}/${VERSION_GPDB_RELEASE}-src-full.tar.gz" \ + && VERSION_GPDB_RELEASE=$(curl -sL https://github.com/greenplum-db/gpdb/releases.atom | grep 'releases/tag' | grep "/7." | head -1 | grep -Po '\d[\d.]+' ) \ + && URL_GBDP="https://github.com/greenplum-db/gpdb/archive/refs/tags/${VERSION_GPDB_RELEASE}.tar.gz" \ && echo "Downloading GBDP src release ${VERSION_GPDB_RELEASE} from: ${URL_GBDP}" \ - && install_tar_gz $URL_GBDP \ + && install_tar_gz $URL_GBDP && mv /opt/gpdb-* /opt/gpdb_src \ && cd /opt/gpdb_src \ && PYTHON=/opt/conda/bin/python3 ./configure --prefix=/opt/gpdb --with-perl --with-python --with-libxml --with-gssapi --with-openssl \ && sudo make -j16 && sudo make install -j16 diff --git a/docker_postgres/README.md b/docker_postgres/README.md index d5c7991..0690968 100644 --- a/docker_postgres/README.md +++ b/docker_postgres/README.md @@ -5,7 +5,7 @@ ```shell BUILDKIT_PROGRESS=plain docker build -t postgres-ext -f ./postgres-ext.Dockerfile --build-arg BASE_NAMESPACE=qpod0dev . -IMG="qpod/postgres-ext" +IMG="qpod0dev/postgres-ext" docker run -d \ --name db-postgres \ @@ -13,11 +13,186 @@ docker run -d \ -e POSTGRES_PASSWORD=pg-password \ $IMG +docker exec -it db-postgres bash + ls -alh /usr/share/postgresql/15/extension/*.control ``` ```sql -SELECT * FROM pg_extension; -SELECT * FROM pg_available_extensions ORDER BY name; -CREATE EXTENSION "vector"; +SELECT extname AS name, extversion AS ver +FROM pg_extension ORDER BY extname; + +SELECT name, default_version AS ver, comment +FROM pg_available_extensions ORDER BY name; + + +CREATE OR REPLACE PROCEDURE enable_all_extensions() +LANGUAGE plpgsql +AS $$ +DECLARE + extension_name TEXT; +BEGIN + FOR extension_name IN + SELECT name FROM pg_available_extensions + WHERE name NOT IN (SELECT extname AS name FROM pg_extension) + ORDER BY name + LOOP + BEGIN + EXECUTE format('CREATE EXTENSION IF NOT EXISTS %I', extension_name); + EXCEPTION WHEN OTHERS THEN + -- Optionally log the error or do nothing to continue with the next extension + RAISE NOTICE 'Failed to create extension %: %', extension_name, SQLERRM; + END; + END LOOP; +END; +$$; + +CREATE EXTENSION "hstore"; +CALL enable_all_extensions(); + +SELECT name, default_version AS ver +FROM pg_available_extensions +WHERE name NOT IN (SELECT extname AS name FROM pg_extension) +ORDER BY name; ``` + +## Reference + +- article: https://mp.weixin.qq.com/s/CduvvvuUDjqNtvKA1OblAQ +- code: https://github.com/digoal/postgresql_docker_builder/blob/main/pg14_amd64/1.sh + +## List of Extensions + +| name | ver | comment | +|--------------------------------|--------|-----------------------------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.2 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer-3 | 3.4.2 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.2 | Address Standardizer US dataset example | +| address_standardizer_data_us-3 | 3.4.2 | Address Standardizer US dataset example | +| adminpack | 2.1 | administrative functions for PostgreSQL | +| amcheck | 1.3 | functions for verifying relation integrity | +| autoinc | 1 | functions for autoincrementing fields | +| bloom | 1 | bloom access method - signature file based index | +| btree_gin | 1.3 | support for indexing common datatypes in GIN | +| btree_gist | 1.7 | support for indexing common datatypes in GiST | +| citext | 1.6 | data type for case-insensitive character strings | +| citus | 12.1-1 | Citus distributed database | +| citus_columnar | 11.3-1 | Citus Columnar extension | +| credcheck | 2.6.0 | credcheck - postgresql plain text credential checker | +| cube | 1.5 | data type for multidimensional cubes | +| dblink | 1.2 | connect to other PostgreSQL databases from within a database | +| decoderbufs | 0.1.0 | Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format | +| dict_int | 1 | text search dictionary template for integers | +| dict_xsyn | 1 | text search dictionary template for extended synonym processing | +| earthdistance | 1.1 | calculate great-circle distances on the surface of the Earth | +| extra_window_functions | 1 | | +| file_fdw | 1 | foreign-data wrapper for flat file access | +| first_last_agg | 0.1.4 | first() and last() aggregate functions | +| fuzzystrmatch | 1.1 | determine similarities and distance between strings | +| hll | 2.18 | type for storing hyperloglog data | +| hstore | 1.8 | data type for storing sets of (key, value) pairs | +| hstore_pllua | 1 | Hstore transform for Lua | +| hstore_plluau | 1 | Hstore transform for untrusted Lua | +| hstore_plpython3u | 1 | transform between hstore and plpython3u | +| hypopg | 1.4.0 | Hypothetical indexes for PostgreSQL | +| icu_ext | 1.8 | Access ICU functions | +| insert_username | 1 | functions for tracking who changed a table | +| intagg | 1.1 | integer aggregator and enumerator (obsolete) | +| intarray | 1.5 | functions, operators, and index support for 1-D arrays of integers | +| ip4r | 2.4 | | +| isn | 1.2 | data types for international product numbering standards | +| jsonb_plpython3u | 1 | transform between jsonb and plpython3u | +| jsquery | 1.1 | data type for jsonb inspection | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.2 | data type for hierarchical tree-like structures | +| ltree_plpython3u | 1 | transform between ltree and plpython3u | +| mimeo | 1.5.1 | Extension for specialized, per-table replication between PostgreSQL instances | +| moddatetime | 1 | functions for tracking last modification time | +| mysql_fdw | 1.2 | Foreign data wrapper for querying a MySQL server | +| ogr_fdw | 1.1 | foreign-data wrapper for GIS data access | +| old_snapshot | 1 | utilities in support of old_snapshot_threshold | +| oracle_fdw | 1.2 | foreign data wrapper for Oracle access | +| orafce | 4.9 | Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS | +| pageinspect | 1.11 | inspect the contents of database pages at a low level | +| pg_buffercache | 1.3 | examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_dirtyread | 2 | Read dead but unvacuumed rows from table | +| pg_freespacemap | 1.2 | examine the free space map (FSM) | +| pg_graphql | 1.4.0 | pg_graphql: GraphQL support | +| pg_net | 0.7.3 | Async HTTP | +| pg_partman | 5.0.1 | Extension to manage partitioned tables by time or ID | +| pg_prewarm | 1.2 | prewarm relation data | +| pg_qualstats | 2.1.0 | An extension collecting statistics about quals | +| pg_rational | 0.0.1 | bigint fractions | +| pg_repack | 1.5.0 | Reorganize tables in PostgreSQL databases with minimal locks | +| pg_show_plans | 2 | show query plans of all currently running SQL statements | +| pg_similarity | 1 | support similarity queries | +| pg_sphere | 1.4.2 | spherical objects with useful functions, operators and index support | +| pg_squeeze | 1.6 | A tool to remove unused space from a relation. | +| pg_stat_kcache | 2.2.3 | Kernel statistics gathering | +| pg_stat_statements | 1.1 | track planning and execution statistics of all SQL statements executed | +| pg_surgery | 1 | extension to perform surgery on a damaged relation | +| pg_trgm | 1.6 | text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | examine the visibility map (VM) and page-level visibility info | +| pg_wait_sampling | 1.1 | sampling based statistics of wait events | +| pg_walinspect | 1 | functions to inspect contents of PostgreSQL Write-Ahead Log | +| pgagent | 4.2 | A PostgreSQL job scheduler | +| pgaudit | 1.7 | provides auditing functionality | +| pgautofailover | 2.1 | pg_auto_failover | +| pgcrypto | 1.3 | cryptographic functions | +| pgfincore | 1.3.1 | examine and manage the os buffer cache | +| pgmemcache | 2.3.0 | memcached interface | +| pgmp | 1.1 | Multiple Precision Arithmetic extension | +| pgpool_adm | 1.4 | Administrative functions for pgPool | +| pgpool_recovery | 1.4 | recovery functions for pgpool-II for V4.3 | +| pgpool_regclass | 1 | replacement for regclass | +| pgrouting | 3.6.2 | pgRouting Extension | +| pgrowlocks | 1.2 | show row-level locking information | +| pgstattuple | 1.5 | show tuple-level statistics | +| pldbgapi | 1.1 | server-side support for debugging PL/pgSQL functions | +| pljava | 1.6.7 | PL/Java procedural language (https://tada.github.io/pljava/) | +| pllua | 2 | Lua as a procedural language | +| plluau | 2 | Lua as an untrusted procedural language | +| plpgsql | 1 | PL/pgSQL procedural language | +| plpgsql_check | 2.7 | extended check for plpgsql functions | +| plprofiler | 4.2 | server-side support for profiling PL/pgSQL functions | +| plproxy | 2.11.0 | Database partitioning implemented as procedural language d | +| plpython3u | 1 | PL/Python3U untrusted procedural language | +| plr | 8.4.6 | load R interpreter and execute R script from within a database | +| pointcloud | 1.2.5 | data type for lidar point clouds | +| pointcloud_postgis | 1.2.5 | integration for pointcloud LIDAR data and PostGIS geometry data | +| postgis | 3.4.2 | PostGIS geometry and geography spatial types and functions | +| postgis-3 | 3.4.2 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.2 | PostGIS raster types and functions | +| postgis_raster-3 | 3.4.2 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.2 | PostGIS SFCGAL functions | +| postgis_sfcgal-3 | 3.4.2 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.2 | PostGIS tiger geocoder and reverse geocoder | +| postgis_tiger_geocoder-3 | 3.4.2 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.2 | PostGIS topology spatial types and functions | +| postgis_topology-3 | 3.4.2 | PostGIS topology spatial types and functions | +| postgres_fdw | 1.1 | foreign-data wrapper for remote PostgreSQL servers | +| powa | 4.2.2 | PostgreSQL Workload Analyser-core | +| pre_prepare | 0.4 | Pre Prepare your Statement server side | +| prefix | 1.2.0 | Prefix Range module for PostgreSQL | +| prioritize | 1 | get and set the priority of PostgreSQL backends | +| q3c | 2.0.1 | q3c sky indexing plugin | +| rdkit | 4.3.0 | Cheminformatics functionality for PostgreSQL. | +| refint | 1 | functions for implementing referential integrity (obsolete) | +| rum | 1.3 | RUM index access method | +| seg | 1.4 | data type for representing line segments or floating-point intervals | +| sslinfo | 1.2 | information about SSL certificates | +| table_log | 0.6.1 | Module to log changes on tables | +| tablefunc | 1 | functions that manipulate whole tables, including crosstab | +| tcn | 1 | Triggered change notifications | +| tdigest | 1.4.1 | Provides tdigest aggregate function. | +| tds_fdw | 2.0.3 | Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server) | +| timescaledb | 2.14.2 | Enables scalable inserts and complex queries for time-series data (Community Edition) | +| toastinfo | 1 | show details on toasted datums | +| tsm_system_rows | 1 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | text search dictionary that removes accents | +| unit | 7 | SI units extension | +| uuid-ossp | 1.1 | generate universally unique identifiers (UUIDs) | +| vector | 0.6.2 | vector data type and ivfflat and hnsw access methods | +| xml2 | 1.1 | XPath querying and XSLT | diff --git a/docker_postgres/postgres-ext.Dockerfile b/docker_postgres/postgres-ext.Dockerfile index 7daa2d1..d79f4d2 100644 --- a/docker_postgres/postgres-ext.Dockerfile +++ b/docker_postgres/postgres-ext.Dockerfile @@ -6,26 +6,17 @@ FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} LABEL maintainer="haobibo@gmail.com" -COPY work /opt/utils/ +COPY rootfs / -RUN set -x && . /opt/utils/script-utils.sh \ +RUN set -x && . /opt/utils/script-utils.sh && . /opt/utils/script-setup-pg_ext_mirror.sh \ && apt-get update && apt-get install -y gettext \ - && DISTRO_NAME=$(awk '{ print tolower($0) }' <<< $(lsb_release -is)) \ - && DISTRO_CODE_NAME=$(lsb_release -cs) \ - # apt source for: https://packagecloud.io/citusdata/community - && curl -fsSL "https://packagecloud.io/citusdata/community/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/citusdata_community.gpg \ - && echo "deb https://packagecloud.io/citusdata/community/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/citusdata_community.list \ - # apt source for: https://packagecloud.io/timescale/timescaledb - && curl -fsSL "https://packagecloud.io/timescale/timescaledb/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/timescale_timescaledb.gpg \ - && echo "deb https://packagecloud.io/timescale/timescaledb/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/timescale_timescaledb.list \ - # apt source for: https://packagecloud.io/pigsty/pgsql - && curl -fsSL "https://packagecloud.io/pigsty/pgsql/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/pigsty_pgsql.gpg \ - && echo "deb https://packagecloud.io/pigsty/pgsql/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/pigsty_pgsql.list \ && envsubst < /opt/utils/install_list_pgext.tpl.apt > /opt/utils/install_list_pgext.apt \ && rm -rf /opt/utils/install_list_pgext.tpl.apt \ && echo "To install PG extensions: $(cat /opt/utils/install_list_pgext.apt)" \ && install_apt /opt/utils/install_list_pgext.apt \ + && . /opt/utils/script-setup-pg_ext.sh \ && ls -alh /usr/share/postgresql/*/extension/*.control | sort \ + && echo "include_dir='./conf.d'" >> /var/lib/postgresql/data/postgresql.conf \ && echo "Clean up" && list_installed_packages && install__clean USER postgres diff --git a/docker_postgres/rootfs/etc/security/limitd.d/80-postgres.conf b/docker_postgres/rootfs/etc/security/limitd.d/80-postgres.conf new file mode 100644 index 0000000..ac39e38 --- /dev/null +++ b/docker_postgres/rootfs/etc/security/limitd.d/80-postgres.conf @@ -0,0 +1,10 @@ +# ref: https://github.com/digoal/postgresql_docker_builder/blob/main/pg14_amd64/4.sh + +* soft nofile 1024000 +* hard nofile 1024000 +* soft nproc unlimited +* hard nproc unlimited +* soft core unlimited +* hard core unlimited +* soft memlock unlimited +* hard memlock unlimited diff --git a/docker_postgres/rootfs/opt/utils/install_list_pgext.tpl.apt b/docker_postgres/rootfs/opt/utils/install_list_pgext.tpl.apt new file mode 100644 index 0000000..05040d2 --- /dev/null +++ b/docker_postgres/rootfs/opt/utils/install_list_pgext.tpl.apt @@ -0,0 +1,83 @@ +postgresql-contrib +postgresql-${PG_MAJOR}-postgis* +postgresql-${PG_MAJOR}-pgvector +postgresql-${PG_MAJOR}-cron +postgresql-${PG_MAJOR}-wal2json +timescaledb-2-postgresql-${PG_MAJOR} +postgresql-${PG_MAJOR}-citus-12.1 +pg-graphql % https://github.com/supabase/pg_graphql +pg-net % https://github.com/supabase/pg_net +postgresql-${PG_MAJOR}-dirtyread +postgresql-${PG_MAJOR}-extra-window-functions +postgresql-${PG_MAJOR}-first-last-agg +postgresql-${PG_MAJOR}-hll +postgresql-${PG_MAJOR}-hypopg +postgresql-${PG_MAJOR}-ip4r +postgresql-${PG_MAJOR}-jsquery +postgresql-${PG_MAJOR}-pgmemcache +postgresql-${PG_MAJOR}-pljava +postgresql-${PG_MAJOR}-pllua +postgresql-${PG_MAJOR}-plpgsql-check +postgresql-${PG_MAJOR}-plproxy +postgresql-${PG_MAJOR}-prefix +postgresql-${PG_MAJOR}-rational +postgresql-${PG_MAJOR}-rdkit +postgresql-${PG_MAJOR}-pg-qualstats +postgresql-${PG_MAJOR}-pg-stat-kcache +postgresql-${PG_MAJOR}-pg-wait-sampling +postgresql-${PG_MAJOR}-pgfincore +postgresql-${PG_MAJOR}-pgaudit +postgresql-${PG_MAJOR}-pgpool2 +postgresql-${PG_MAJOR}-pgrouting +postgresql-${PG_MAJOR}-pgrouting-doc +postgresql-${PG_MAJOR}-pgrouting-scripts +postgresql-${PG_MAJOR}-pgsphere +postgresql-${PG_MAJOR}-pldebugger +postgresql-${PG_MAJOR}-pointcloud +postgresql-${PG_MAJOR}-plr +postgresql-${PG_MAJOR}-powa +postgresql-${PG_MAJOR}-q3c +postgresql-${PG_MAJOR}-repack +postgresql-${PG_MAJOR}-rum +postgresql-${PG_MAJOR}-show-plans +postgresql-${PG_MAJOR}-similarity +postgresql-${PG_MAJOR}-tablelog +postgresql-${PG_MAJOR}-tdigest +postgresql-${PG_MAJOR}-plprofiler +postgresql-${PG_MAJOR}-partman +postgresql-${PG_MAJOR}-icu-ext +postgresql-${PG_MAJOR}-orafce +postgresql-${PG_MAJOR}-mysql-fdw +postgresql-${PG_MAJOR}-oracle-fdw +postgresql-${PG_MAJOR}-ogr-fdw +postgresql-${PG_MAJOR}-tds-fdw +postgresql-${PG_MAJOR}-credcheck +postgresql-${PG_MAJOR}-decoderbufs +postgresql-${PG_MAJOR}-mimeo +postgresql-${PG_MAJOR}-pgmp +postgresql-${PG_MAJOR}-preprepare +postgresql-${PG_MAJOR}-prioritize +postgresql-${PG_MAJOR}-squeeze +postgresql-${PG_MAJOR}-toastinfo +postgresql-${PG_MAJOR}-unit +postgresql-${PG_MAJOR}-auto-failover +pg-auto-failover-cli +postgresql-plpython3-${PG_MAJOR} +pgagroal +pgpool2 +pgbouncer +pgxnclient +pgagent +pgreplay +pgbackrest +pgbackrest-doc +powa-collector +elephant-shed-pgbackrest +libpq-dev +pgbadger +pgloader +ora2pg + +% postgresql-*-pgdg-pgroonga % TODO: postgresql-15-pgdg-pgroonga : Depends: libgroonga0 (>= 13.0.8) but 13.0.0+dfsg-3~deb12u1 is to be installed +% postgresql-pgml-* % TODO: many python packages +% echo "deb https://apt.postgresml.org ${DISTRO_CODE_NAME} maintainer" | sudo tee /etc/apt/sources.list.d/postgresml.list diff --git a/docker_postgres/rootfs/opt/utils/script-setup-pg_ext.sh b/docker_postgres/rootfs/opt/utils/script-setup-pg_ext.sh new file mode 100644 index 0000000..4811d82 --- /dev/null +++ b/docker_postgres/rootfs/opt/utils/script-setup-pg_ext.sh @@ -0,0 +1,11 @@ +export USE_PGXS=1 + +setup_apache_age() { + cd /tmp + git clone --depth 1 -b PG15 https://github.com/apache/age + cd /tmp/age + make -j8 && make install +} + + +# setup_apache_age diff --git a/docker_postgres/rootfs/opt/utils/script-setup-pg_ext_mirror.sh b/docker_postgres/rootfs/opt/utils/script-setup-pg_ext_mirror.sh new file mode 100644 index 0000000..f79e7e3 --- /dev/null +++ b/docker_postgres/rootfs/opt/utils/script-setup-pg_ext_mirror.sh @@ -0,0 +1,14 @@ +export DISTRO_NAME=$(awk '{ print tolower($0) }' <<< $(lsb_release -is)) +export DISTRO_CODE_NAME=$(lsb_release -cs) + +# apt source for: https://packagecloud.io/citusdata/community +curl -fsSL "https://packagecloud.io/citusdata/community/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/citusdata_community.gpg +echo "deb https://packagecloud.io/citusdata/community/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/citusdata_community.list + +# apt source for: https://packagecloud.io/timescale/timescaledb +curl -fsSL "https://packagecloud.io/timescale/timescaledb/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/timescale_timescaledb.gpg +echo "deb https://packagecloud.io/timescale/timescaledb/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/timescale_timescaledb.list + +# apt source for: https://packagecloud.io/pigsty/pgsql +curl -fsSL "https://packagecloud.io/pigsty/pgsql/gpgkey" | gpg --dearmor > /etc/apt/trusted.gpg.d/pigsty_pgsql.gpg +echo "deb https://packagecloud.io/pigsty/pgsql/${DISTRO_NAME}/ ${DISTRO_CODE_NAME} main" | sudo tee /etc/apt/sources.list.d/pigsty_pgsql.list diff --git a/docker_postgres/work/install_list_pgext.tpl.apt b/docker_postgres/work/install_list_pgext.tpl.apt deleted file mode 100644 index e88fa0a..0000000 --- a/docker_postgres/work/install_list_pgext.tpl.apt +++ /dev/null @@ -1,12 +0,0 @@ -postgresql-contrib -postgresql-${PG_MAJOR}-postgis* -postgresql-${PG_MAJOR}-pgvector -postgresql-${PG_MAJOR}-cron -postgresql-${PG_MAJOR}-wal2json -timescaledb-2-postgresql-${PG_MAJOR} -postgresql-${PG_MAJOR}-citus-12.1 -pg-graphql % https://github.com/supabase/pg_graphql -pg-net % https://github.com/supabase/pg_net -% postgresql-*-pgdg-pgroonga % TODO: postgresql-15-pgdg-pgroonga : Depends: libgroonga0 (>= 13.0.8) but 13.0.0+dfsg-3~deb12u1 is to be installed -% postgresql-pgml-* % TODO: many python packages -% echo "deb https://apt.postgresml.org ${DISTRO_CODE_NAME} maintainer" | sudo tee /etc/apt/sources.list.d/postgresml.list