Top
Enterprise Postgres 18 for Kubernetes User's Guide

4.7.3 Adding SQLite Foreign Data Wrapper to FEP Server Container

We will demonstrate adding the SQLite Foreign Data Wrapper module to FEP Server container.

  1. Create Dockerfile

    #use FEP 18 image as a base to compile sqlite_fdw
    FROM quay.io/fujitsu/fujitsu-enterprise-postgres-18-server:ubi9-18-1.0 as compile-sqlite_fdw
    
    #change the user with root privilege
    USER root
    
    # install build tools
    RUN microdnf -y install cmake gcc-c++ libtool clang which openssl-devel git llvm gettext
    
    # Install sqlite_fdw build require
    RUN microdnf install -y sqlite-devel
    
    # Download sqlite_fdw source
    RUN curl -sSL https://github.com/pgspider/sqlite_fdw/archive/refs/tags/v2.3.0.tar.gz | tar -zxf -
    
    # Compile sqlite_fdw
    RUN cd /sqlite_fdw-2.3.0 && \
        make install USE_PGXS=1
    
    #Use base image is from FEPContainer to build the custom image
    FROM quay.io/fujitsu/fujitsu-enterprise-postgres-18-server:ubi9-18-1.0
    
    #change the user with root privilege
    USER root
    
    #copy the prepared OSS extension binaries to FEP server lib folder
    COPY --from=compile-sqlite_fdw /opt/fsepv18server64/lib/sqlite_fdw.so /opt/fsepv18server64/lib/
    COPY --from=compile-sqlite_fdw /opt/fsepv18server64/lib/bitcode/sqlite_fdw /opt/fsepv18server64/lib/bitcode/
    COPY --from=compile-sqlite_fdw /opt/fsepv18server64/share/extension/sqlite_fdw* /opt/fsepv18server64/share/extension/
    
    # Install sqlite_fdw run time dependencies
    RUN microdnf install -y sqlite-libs
    
    #change the user to postgresql
    USER 26
    
  2. Build custom image

    docker build -f Dockerfile -t my.registry/my-repo/fep-18-server-sqlite_fdw:ubi9-18-1.0
  3. Push image to custom container registry

    docker push my.registry/my-repo/fep-18-server-sqlite_fdw:ubi9-18-1.0