Como Compilar Módulos do PostgreSQL
Ao desenvolver com o ServBay para PostgreSQL, você pode precisar compilar e instalar módulos adicionais do PostgreSQL para expandir a funcionalidade do banco de dados. Este artigo explica como compilar módulos do PostgreSQL no ambiente ServBay, incluindo como compilar os módulos postgis
e pg_jieba
.
Pré-requisitos
Antes de começar a compilar os módulos do PostgreSQL, certifique-se de ter concluído a inicialização do ambiente de compilação. Para detalhes sobre como inicializar o ambiente de compilação, consulte o documento Usando o ServBay para Recompilação.
Importância de Especificar a Versão do PostgreSQL
O ServBay acompanha várias versões do PostgreSQL. Ao usar ferramentas de compilação, é essencial especificar a versão do PostgreSQL e as configurações relacionadas que você está utilizando. Isso ocorre porque diferentes versões do PostgreSQL podem ter diferentes configurações e dependências. Escolher a versão correta pode evitar erros de compilação e problemas de execução.
Este exemplo usa o PostgreSQL 15
.
Compilando o Módulo postgis
O módulo postgis
é uma extensão do PostgreSQL usada para manipulação de dados de Sistema de Informação Geográfica (GIS). Aqui estão os passos para compilar o módulo postgis-3.4.2
:
Passo 1: Baixar o Código-Fonte
Primeiro, baixe o pacote do código-fonte do módulo postgis-3.4.2
do site oficial do PostGIS.
wget https://download.osgeo.org/postgis/source/postgis-3.4.2.tar.gz
Passo 2: Extrair o Pacote de Código-Fonte
Extraia o pacote de código-fonte baixado.
tar zxvf postgis-3.4.2.tar.gz
cd postgis-3.4.2
2
Passo 3: Configurar Opções de Compilação
Configure as opções de compilação, especificando o caminho de configuração do PostgreSQL e outros parâmetros.
./configure --prefix=${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7 --bindir=${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin --datarootdir=${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/share --with-protobufdir=${SERVBAY_BIN_PATH} --disable-nls --without-raster --without-topology --with-pgconfig=${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin/pg_config CFLAGS="${CFLAGS} -I${SERVBAY_COMMON_INCLUDE_PATH}/libxml2 -I${SERVBAY_COMMON_INCLUDE_PATH}" CXXFLAGS="${CXXFLAGS} -std=c++17 -I${SERVBAY_COMMON_INCLUDE_PATH}/libxml2 -I${SERVBAY_COMMON_INCLUDE_PATH}" LDFLAGS="${LDFLAGS} -L${SERVBAY_COMMON_LIB_PATH} -lxml2 -lz -lpthread -liconv -licui18n -licuuc -licudata -lm"
Passo 4: Compilar e Instalar
Compile e instale o módulo postgis-3.4.2
.
make -j ${CPU_NUMBER}
make install
2
Passo 5: Verificar Carregamento do Módulo
Verifique se o módulo postgis
foi carregado com sucesso usando a ferramenta de linha de comando do PostgreSQL:
${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin/psql -c "CREATE EXTENSION postgis;"
${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin/psql -c "SELECT PostGIS_Version();"
2
Se o módulo foi carregado com sucesso, você verá as informações da versão PostGIS
.
Compilando o Módulo pg_jieba
O módulo pg_jieba
é uma extensão do PostgreSQL usada para segmentação de palavras em chinês. Aqui estão os passos para compilar o módulo pg_jieba
:
Passo 1: Obter o Código-Fonte
Primeiro, clone o repositório do módulo pg_jieba
do GitHub.
git clone https://github.com/jaiminpan/pg_jieba.git
cd pg_jieba
git submodule update --init --recursive
2
3
Passo 2: Configurar Opções de Compilação
Configure as opções de compilação, especificando o caminho de configuração do PostgreSQL e outros parâmetros.
cmake -S . -B builddir -DCMAKE_PREFIX_PATH=${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7 -DCMAKE_OSX_DEPLOYMENT_TARGET=${BUILD_OS_MIN_VERSION} -DCMAKE_OSX_ARCHITECTURES=${BUILD_CPU_ARCH_CMAKE}
Passo 3: Compilar e Instalar
Compile e instale o módulo pg_jieba
.
cmake --build builddir -j ${CPU_NUMBER}
cmake --install builddir
2
Passo 4: Verificar Carregamento do Módulo
Verifique se o módulo pg_jieba
foi carregado com sucesso usando a ferramenta de linha de comando do PostgreSQL:
${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin/psql -c "CREATE EXTENSION pg_jieba;"
${SERVBAY_PACKAGE_FULL_PATH}/postgresql/15/15.7/bin/psql -c "SELECT * FROM pg_available_extensions WHERE name = 'pg_jieba';"
2
Se o módulo foi carregado com sucesso, você verá as informações relacionadas ao pg_jieba
.
Conclusão
Seguindo os passos acima, você pode compilar e instalar os módulos necessários do PostgreSQL no ambiente ServBay. Durante o processo de compilação, certifique-se de especificar a versão correta do PostgreSQL e as configurações relacionadas para garantir que os módulos sejam compatíveis com o seu ambiente de banco de dados. Espero que este artigo ajude você a concluir a compilação dos módulos do PostgreSQL com sucesso.