Come compilare i moduli di PostgreSQL
Quando sviluppi con ServBay per PostgreSQL, potresti dover compilare e installare moduli PostgreSQL aggiuntivi per estendere le funzionalità del database. Questo articolo mostrerà come compilare i moduli PostgreSQL in ambiente ServBay, tra cui i moduli postgis
e pg_jieba
.
Prerequisiti
Prima di iniziare a compilare i moduli PostgreSQL, assicurati di aver completato l'inizializzazione dell'ambiente di compilazione. Per i dettagli sui passaggi di inizializzazione, fai riferimento alla documentazione Uso di ServBay per la ricompilazione.
Importanza della versione di PostgreSQL specificata
ServBay include diverse versioni di PostgreSQL; quando utilizzi lo strumento di compilazione, assicurati di specificare la versione di PostgreSQL e le configurazioni correlate. Questo perché diverse versioni di PostgreSQL possono avere configurazioni e dipendenze diverse, e scegliere la versione corretta può evitare errori di compilazione e problemi di runtime.
Questo esempio utilizza PostgreSQL 15
come riferimento.
Compilare il modulo postgis
Il modulo postgis
è un'estensione di PostgreSQL utilizzata per gestire i dati del sistema di informazione geografica (GIS). Di seguito sono riportati i passaggi per compilare il modulo postgis-3.4.2
:
Passo 1: Scaricare il codice sorgente
Innanzitutto, scarica il pacchetto sorgente del modulo postgis-3.4.2
dal sito ufficiale di PostGIS.
wget https://download.osgeo.org/postgis/source/postgis-3.4.2.tar.gz
Passo 2: Estrarre il pacchetto sorgente
Estrai il pacchetto sorgente scaricato.
tar zxvf postgis-3.4.2.tar.gz
cd postgis-3.4.2
2
Passo 3: Configurare le opzioni di compilazione
Configura le opzioni di compilazione, specificando il percorso di configurazione di PostgreSQL e altri parametri.
./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: Compilare e installare
Compila e installa il modulo postgis-3.4.2
.
make -j ${CPU_NUMBER}
make install
2
Passo 5: Verificare il caricamento del modulo
Verifica se il modulo postgis
è stato caricato correttamente utilizzando lo strumento da riga di comando di 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 il modulo è stato caricato correttamente, dovresti vedere le informazioni sulla versione di PostGIS
.
Compilare il modulo pg_jieba
Il modulo pg_jieba
è un'estensione di PostgreSQL usata per il tokenizzazione del cinese. Di seguito sono riportati i passaggi per compilare il modulo pg_jieba
:
Passo 1: Ottenere il codice sorgente
Innanzitutto, clona il repository del modulo pg_jieba
da GitHub.
git clone https://github.com/jaiminpan/pg_jieba.git
cd pg_jieba
git submodule update --init --recursive
2
3
Passo 2: Configurare le opzioni di compilazione
Configura le opzioni di compilazione, specificando il percorso di configurazione di PostgreSQL e altri parametri.
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: Compilare e installare
Compila e installa il modulo pg_jieba
.
cmake --build builddir -j ${CPU_NUMBER}
cmake --install builddir
2
Passo 4: Verificare il caricamento del modulo
Verifica se il modulo pg_jieba
è stato caricato correttamente utilizzando lo strumento da riga di comando di 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 il modulo è stato caricato correttamente, dovresti vedere le informazioni relative a pg_jieba
.
Conclusione
Seguendo i passaggi sopra descritti, puoi compilare e installare i moduli PostgreSQL necessari in ambiente ServBay. Durante il processo di compilazione, assicurati di specificare la versione corretta di PostgreSQL e le configurazioni correlate per garantire che i moduli siano compatibili con il tuo ambiente di database. Speriamo che questo articolo ti aiuti a completare con successo la compilazione dei moduli PostgreSQL.