pgspider clickhouse fdw docker 镜像

Posted rongfengliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pgspider clickhouse fdw docker 镜像相关的知识,希望对你有一定的参考价值。

老样子集成base 镜像构建,以下是clickhouse dockerfile

Dockerfile

FROM dalongrong/pgspider:base as build
WORKDIR /app
RUN apt-get update && apt-get install -y openssl unixodbc-dev 
# RUN wget https://github.com/ClickHouse/clickhouse-odbc/releases/download/v1.1.3.20200115/clickhouse-odbc-1.1.3-Linux.tar.gz && tar xzvf clickhouse-odbc-1.1.3-Linux.tar.gz 
RUN git clone https://github.com/Percona-Lab/clickhousedb_fdw.git /app/postgresql-11.6/contrib/clickhousedb_fdw
RUN cd /app/postgresql-11.6/contrib/clickhousedb_fdw && make -f lib/Makefile  
    && make USE_PGXS=1 && make USE_PGXS=1 install
?
FROM debian:stretch-slim
ENV GOSU_VERSION 1.11
RUN apt-get update && apt-get install -y wget openssl libreadline-dev unixodbc-dev
# explicitly set user/group IDs
RUN set -eux; 
 groupadd -r postgres --gid=999; 
# https://salsa.debian.org/postgresql/postgresql-common/blob/997d842ee744687d99a2b2d95c1083a2615c79e8/debian/postgresql-common.postinst#L32-35
 useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; 
# also create the postgres user‘s home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274
 mkdir -p /var/lib/postgresql; 
 chown -R postgres:postgres /var/lib/postgresql
?
RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" 
   && chmod +x /usr/local/bin/gosu 
   && gosu nobody true
# make the "en_US.UTF-8" locale so postgres will be utf-8 enabled by default
RUN set -eux; 
   if [ -f /etc/dpkg/dpkg.cfg.d/docker ]; then 
   # if this file exists, we‘re likely in "debian:xxx-slim", and locales are thus being excluded so we need to remove that exclusion (since we need locales)
   grep -q ‘/usr/share/locale‘ /etc/dpkg/dpkg.cfg.d/docker; 
   sed -ri ‘//usr/share/locale/d‘ /etc/dpkg/dpkg.cfg.d/docker; 
   ! grep -q ‘/usr/share/locale‘ /etc/dpkg/dpkg.cfg.d/docker; 
   fi; 
   apt-get update; apt-get install -y locales; rm -rf /var/lib/apt/lists/*; 
   localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
?
# install "nss_wrapper" in case we need to fake "/etc/passwd" and "/etc/group" (especially for OpenShift)
# https://github.com/docker-library/postgres/issues/359
# https://cwrap.org/nss_wrapper.html
RUN set -eux; 
   apt-get update; 
   apt-get install -y --no-install-recommends libnss-wrapper; 
   rm -rf /var/lib/apt/lists/*
?
RUN mkdir /docker-entrypoint-initdb.d
COPY --from=build /usr/local/pgspider /usr/local/pgspider
RUN sed -ri "s!^#?(listen_addresses)s*=s*S+.*!1 = ‘*‘!" /usr/local/pgspider/share/postgresql/postgresql.conf.sample; 
   grep -F "listen_addresses = ‘*‘" /usr/local/pgspider/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 2777 /var/run/postgresql
ENV PATH $PATH:/usr/local/pgspider/bin
ENV PGDATA /var/lib/postgresql/data
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 777 "$PGDATA"
VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh /usr/local/bin/
RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]
?
EXPOSE 5432
CMD ["postgres"]

说明

暂时还未测试集成是否有问题,后边测试

参考资料

https://github.com/Percona-Lab/clickhousedb_fdw
http://blog.rubypdf.com/2019/04/22/how-to-compile-and-install-clickhousedb_fdw/
https://github.com/rongfengliang/pgspider-docker

以上是关于pgspider clickhouse fdw docker 镜像的主要内容,如果未能解决你的问题,请参考以下文章

pgspider clickhouse fdw docker 镜像的几点说明

pgspider cstore fdw docker 镜像试用

pgspider oracle fdw docker 镜像简单使用说明

pgspider tds fdw sql server docker 镜像试用

pgspider tds fdw sql server docker 镜像中文乱码问题解决

pgspider tds fdw sql server docker 镜像中文乱码问题解决