Kapitel 2. Installation av PostGIS

Innehållsförteckning

I detta kapitel beskrivs de steg som krävs för att installera PostGIS.

2.1. Kort version

För att kompilera förutsatt att du har alla beroenden i din sökväg:

Kod
tar -xvzf postgis-3.7.0dev.tar.gz
cd postgis-3.7.0dev
./configure
make
make install

När PostGIS har installerats måste det aktiveras (Avsnitt 3.3, ”Skapa spatiala databaser”) eller uppgraderas (Avsnitt 3.4, ”Uppgradering av spatiala databaser”) i varje enskild databas som du vill använda det i.

2.2. Kompilera och installera från källkod

[Notera]

Många OS-system innehåller nu förbyggda paket för PostgreSQL / PostGIS. I många fall är kompilering endast nödvändig om du vill ha de mest blödande kantversionerna eller om du är en paketunderhållare.

Detta avsnitt innehåller allmänna kompileringsinstruktioner. Om du kompilerar för Windows eller ett annat operativsystem, se PostGIS guider för att komma igång och guider för utvecklingsmiljö.

Färdigbyggda paket för olika operativsystem listas i PostGIS guider för att komma igång

Om du är en Windows-användare kan du få stabila builds via Stackbuilder eller PostGIS Windows nedladdningssida Vi har också mycket blödande avancerade Windows experimentella builds som byggs vanligtvis en eller två gånger i veckan eller när något spännande händer. Du kan använda dessa för att experimentera med de pågående utgåvorna av PostGIS

PostGIS-modulen är en utökning av PostgreSQL-serverdelen. PostGIS 3.7.0dev kräver fullständig åtkomst till PostgreSQL-serverhuvuden för att kunna kompileras. Den kan byggas mot PostgreSQL-versionerna 14–19. Tidigare versioner av PostgreSQL stöds inte.

Se installationsguiderna för PostgreSQL om du inte redan har installerat PostgreSQL. https://www.postgresql.org.

[Notera]

För GEOS-funktionalitet, när du installerar PostgreSQL kan du behöva länka PostgreSQL uttryckligen mot standard C ++ -biblioteket:

Kod
LDFLAGS=-lstdc++ ./configure [YOUR OPTIONS HERE]

Detta är en lösning för felaktiga C++-undantag i äldre utvecklingsverktyg. Om du upplever konstiga problem (backend oväntat stängd eller liknande saker) kan du prova det här tricket. Detta kommer naturligtvis att kräva omkompilering av din PostgreSQL från grunden.

Följande steg beskriver konfiguration och kompilering av PostGIS-källan. De är skrivna för Linux-användare och kommer inte att fungera på Windows eller Mac.

2.2.1. Hämta källan

Hämta källarkivet för PostGIS från nedladdningswebbplatsen https://postgis.net/stuff/postgis-3.7.0dev.tar.gz

Kod
wget https://postgis.net/stuff/postgis-3.7.0dev.tar.gz
tar -xvzf postgis-3.7.0dev.tar.gz
cd postgis-3.7.0dev

Detta skapar en katalog med namnet postgis-3.7.0dev i den aktuella arbetskatalogen.

Alternativt kan du hämta källkoden från Git-förrådet https://git.osgeo.org/gitea/postgis/postgis/.

Kod
git clone https://git.osgeo.org/gitea/postgis/postgis.git postgis
cd postgis
sh autogen.sh
    

Byt till den nyskapade postgis-katalogen för att fortsätta installationen.

Kod
./configure

2.2.2. Krav för installation

PostGIS har följande krav för uppbyggnad och användning:

Obligatorisk

  • PostgreSQL 14–19. En fullständig installation av PostgreSQL, inklusive serverhuvuden, krävs. PostgreSQL finns på https://www.postgresql.org.

    För stöd för aktuella utgåvegrenar och policy för livslängd, se https://postgis.net/development/versions_eol/

  • GNU C-kompilator(gcc). Vissa andra ANSI C-kompilatorer kan användas för att kompilera PostGIS, men vi hittar mycket färre problem när vi kompilerar med gcc.

  • GNU Make(gmake eller make). För många system är GNU make standardversionen av make. Kontrollera versionen genom att anropa make -v. Andra versioner av make kanske inte bearbetar PostGIS Makefile på rätt sätt.

  • PROJ är ett reprojiceringsbibliotek. PROJ 6.1 eller senare krävs. PROJ-biblioteket ger stöd för koordinatreprojektion i PostGIS. PROJ finns att hämta från https://proj.org/.

  • Geometribiblioteket GEOS, version 3.10.0 eller senare. GEOS 3.15+ krävs dock för att fullt ut utnyttja alla nya funktioner och möjligheter. GEOS kan hämtas från https://libgeos.org .

  • LibXML2. LibXML2 används för närvarande i vissa importfunktioner (ST_GeomFromGML och ST_GeomFromKML). LibXML2 kan hämtas från https://gitlab.gnome.org/GNOME/libxml2/-/releases.

  • Perl krävs för att bygga PostGIS. Perl kan hämtas från https://www.perl.org/.

  • Biblioteket iconv krävs av inläsaren shp2pgsql för teckenkodningskonvertering. I GNU/Linux-system tillhandahålls det normalt av libc; på andra plattformar kan du behöva ett separat paket med libiconv.

  • GNU Multiple Precision Arithmetic Library (libgmp). Används för att styra precisionen för matematiska operationer i PostGIS Topology. GMP kan hämtas från https://gmplib.org/. Det identifieras med pkg-config och saknar återfallslösning, så pkg-config måste vara tillgängligt för en standardbyggning.

  • GDAL, version 2.4 eller senare, krävs för rasterstöd. GDAL 3+ föredras. https://gdal.org/download.html.

  • Om du kompilerar med PostgreSQL + JIT krävs LLVM-version >=6 https://trac.osgeo.org/postgis/ticket/4125.

Valfritt

  • GDAL (pseudo-valfritt) endast om du inte vill ha raster kan du utelämna det. Se också till att aktivera de drivrutiner som du vill använda enligt beskrivningen i Avsnitt 3.2, ”Konfigurera stöd för raster”.

  • JSON-C. JSON-C används för närvarande för att importera GeoJSON med funktionen ST_GeomFromGeoJson. JSON-C kan hämtas från https://github.com/json-c/json-c/releases/. Det är aktiverat som standard men valfritt; om det inte hittas ger configure bara en varning och byggningen fortsätter. Inaktivera med --without-json.

  • GNU gettext för stöd för översättning av inläsare och dokumentation. Det kan inaktiveras med --with-gettext=no. https://www.gnu.org/software/gettext/.

  • För att kompilera shapefilsinläsaren shp2pgsql-gui krävs GTK+ 2,0 eller 2,8+. http://www.gtk.org/.

  • SFCGAL, 1.3.1 eller senare, krävs; 2.3+ behövs för att kunna använda all funktionalitet. SFCGAL kan användas för att ge PostGIS ytterligare avancerade analysfunktioner för 2D och 3D, jfr Kapitel 8, SFCGAL Funktioner Referens. https://sfcgal.gitlab.io/sfcgal/.

  • För att aktivera ST_AsMVT krävs protobuf-c-biblioteket 1.1.0 eller högre (för användning) och protoc-c-kompilatorn (för byggande). Dessutom krävs pkg-config för att verifiera den korrekta minimiversionen av protobuf-c. Se protobuf-c. Som standard kommer Postgis att använda Wagyu för att validera MVT-polygoner snabbare, vilket kräver en c++11-kompilator. Den kommer att använda CXXFLAGS och samma kompilator som PostgreSQL-installationen. För att inaktivera detta och använda GEOS istället använder du --without-wagyu under konfigurationssteget.

  • CUnit(CUnit). Detta behövs för regressionstestning. http://cunit.sourceforge.net/

  • DocBook (xsltproc) krävs för att bygga dokumentationen. DocBook finns på http://www.docbook.org/.

  • Python 3 is required, when configured with --with-visual-examples (off by default), to run the manual example tester that generates the visual examples which the HTML and PDF documentation embed. The examples are executed against a live PostgreSQL server running the staged PostGIS build via make -C regress visual-examples; no Python database driver is required, the tooling talks to the server through the psql client. Python 3 is available from https://www.python.org/ .

  • DBLatex (dblatex) krävs för att bygga dokumentationen i PDF-format. DBLatex finns på http://dblatex.sourceforge.net/.

  • PDF-dokumentationen behöver en SVG-rasteriserare för reservbilder med hög upplösning. Byggningen föredrar rsvg-convert, men kan också använda GraphicsMagick (gm convert) eller ImageMagick (magick eller convert).

2.2.3. Bygg konfiguration

Som med de flesta Linux-installationer är det första steget att generera den Makefile som ska användas för att bygga källkoden. Detta görs genom att köra skalskriptet

Kod
./configure

Utan ytterligare parametrar försöker detta kommando att automatiskt hitta de komponenter och bibliotek som behövs för att bygga PostGIS-källkoden på ditt system. Även om detta är den vanligaste användningen av ./configure, accepterar skriptet flera parametrar för dem som har de nödvändiga biblioteken och programmen på icke-standardiserade platser.

I följande lista visas endast de vanligaste parametrarna. För en fullständig lista, använd parametrarna --help eller --help=short.

--with-library-minor-version

Från och med PostGIS 3.0 kommer de biblioteksfiler som genereras som standard inte längre att ha den mindre versionen som en del av filnamnet. Detta innebär att alla PostGIS 3-bibliotek kommer att sluta på postgis-3. Detta gjordes för att göra pg_upgrade enklare, med nackdelen att du bara kan installera en version av PostGIS 3-serien på din server. För att få det gamla beteendet för filen inklusive den mindre versionen: t.ex. postgis-3.0 lägg till denna switch i din configure-sats.

--prefix=PREFIX

Detta är installationsprefixet för PostGIS kommandoradsverktyg. Som standard installeras verktygen i den körbara katalog som rapporteras av den identifierade PostgreSQL-installationen.

[Observera]

PostgreSQL-tilläggsfiler installeras i de kataloger som rapporteras av pg_config, så att servern kan läsa in dem. Detta omfattar PostGIS delade bibliotek och SQL-tilläggsfiler. Använd --with-pgconfig=FILE för att välja den PostgreSQL-installation som PostGIS byggs och installeras mot.

--with-pgconfig=FILE

PostgreSQL tillhandahåller ett verktyg som heter pg_config för att göra det möjligt för tillägg som PostGIS att hitta PostgreSQL-installationskatalogen. Använd den här parametern(--with-pgconfig=/path/to/pg_config) för att manuellt ange en viss PostgreSQL-installation som PostGIS kommer att bygga mot.

--with-gdalconfig=FILE

GDAL, ett obligatoriskt bibliotek, tillhandahåller funktionalitet som behövs för rasterstöd gdal-config för att göra det möjligt för programvaruinstallationer att hitta GDAL-installationskatalogen. Använd denna parameter(--with-gdalconfig=/path/to/gdal-config) för att manuellt ange en viss GDAL-installation som PostGIS ska bygga mot.

--with-geosconfig=FILE

GEOS, ett nödvändigt geometribibliotek, tillhandahåller ett verktyg som heter geos-config för att göra det möjligt för programvaruinstallationer att hitta GEOS installationskatalog. Använd denna parameter(--with-geosconfig=/path/to/geos-config) för att manuellt ange en viss GEOS-installation som PostGIS ska bygga mot.

--with-xml2config=FILE

LibXML är det bibliotek som krävs för att göra GeomFromKML/GML-processer. Det hittas normalt om du har libxml installerat, men om inte eller om du vill att en specifik version ska användas, måste du peka PostGIS mot en specifik xml2-config confi-fil för att göra det möjligt för programvaruinstallationer att hitta LibXML-installationskatalogen. Använd denna parameter(>--with-xml2config=/path/to/xml2-config) för att manuellt ange en viss LibXML-installation som PostGIS ska bygga mot.

--with-projdir=DIR

Proj är ett reprojektionsbibliotek som krävs av PostGIS. Använd denna parameter(--with-projdir=/path/to/projdir) för att manuellt ange en viss Proj-installationskatalog som PostGIS ska bygga mot.

--with-libiconv=DIR

Katalog där iconv är installerat.

--with-jsondir=DIR

JSON-C är ett MIT-licensierat JSON-bibliotek som krävs för PostGIS ST_GeomFromJSON-stöd. Använd denna parameter(--with-jsondir=/path/to/jsondir) för att manuellt ange en viss JSON-C-installationskatalog som PostGIS kommer att bygga mot.

--with-gui

Kompilera GUI för dataimport (kräver GTK+2.0). Detta kommer att skapa shp2pgsql-gui grafiskt gränssnitt till shp2pgsql.

--without-raster

Kompilera utan stöd för raster.

--without-topology

Kompilera utan topologistöd.

--with-gettext=no

Som standard kommer PostGIS att försöka upptäcka stöd för gettext och kompilera med det, men om du stöter på inkompatibilitetsproblem som orsakar att laddaren bryts kan du inaktivera det helt med det här kommandot. Se biljett http://trac.osgeo.org/postgis/ticket/748 för ett exempel på ett problem som löstes genom att konfigurera med detta. OBS: att du inte missar mycket genom att stänga av detta. Detta används för internationell hjälp/etikettstöd för GUI-laddaren som ännu inte är dokumenterad och fortfarande experimentell.

--with-sfcgal=PATH

Som standard kommer PostGIS inte att installeras med sfcgal-stöd utan denna switch. PATH är ett valfritt argument som gör det möjligt att ange en alternativ PATH till sfcgal-config.

--without-phony-revision

Inaktivera uppdatering av postgis_revision.h för att matcha aktuell HEAD i git-arkivet.

[Notera]

Om du hämtade PostGIS från källkodsarkivet är det första steget att köra skriptet

Kod
./autogen.sh

Detta skript kommer att generera configure-skriptet som i sin tur används för att anpassa installationen av PostGIS.

Om du istället fick PostGIS som en tarball är det inte nödvändigt att köra ./autogen.sh eftersom configure redan har genererats.

2.2.4. Byggnad

När Makefile har genererats är det enkelt att bygga PostGIS genom att köra

Kod
make
Utdata
[last line of output]
PostGIS was built successfully. Ready to install.

Alla funktioner har kommentarer som genererats från dokumentationen. Om du senare vill installera dessa kommentarer i dina rumsliga databaser kör du kommandot, som kräver docbook. postgis_comments.sql och andra paketkommentarsfiler ingår även i tar.gz-distributionen i katalogen doc, så det finns inget behov av att skapa kommentarer vid installation från tar-arkivet. Kommentarer ingår också i installationen med CREATE EXTENSION.

Kod
make comments

Målet make cheatsheets genererar HTML-lathundar som passar som snabbreferens eller för utdelning till studenter. Det kräver xsltproc för byggning och genererar fyra filer i katalogen doc: topology_cheatsheet.html, raster_cheatsheet.html, postgis_cheatsheet.html

Du kan ladda ner några förbyggda tillgängliga i html och pdf från PostGIS / PostgreSQL Study Guides

Kod
make cheatsheets

2.2.5. Bygga PostGIS-tillägg och distribuera dem

PostGIS-tilläggen byggs och installeras automatiskt när PostgreSQL-tilläggsstöd är tillgängligt.

Om du bygger från källkatalogen måste du först bygga funktionsbeskrivningarna. Dessa byggs om du har docbook installerat. Du kan också bygga manuellt med uttalandet:

Kod
make comments

Det är inte nödvändigt att bygga kommentarerna om du bygger från en release-tarball eftersom dessa redan är färdigbyggda med tarballen.

Tilläggen bör automatiskt byggas som en del av make-installationsprocessen. Du kan vid behov bygga från tilläggsmapparna eller kopiera filer om du behöver dem på en annan server.

Ange PGUSER om du behöver åsidosätta anslutningsanvändaren för psql och testa sedan före installationen. Kör tilläggets regressionstester efter installationen.

Kod
cd extensions
cd postgis
make clean
make
export PGUSER=postgres
make check
make install
make check RUNTESTFLAGS=--extension
[Notera]

make check använder psql för att köra tester och kan därför använda psql-miljövariabler. Vanliga variabler som är användbara att åsidosätta är PGUSER,PGPORT och PGHOST. Hänvisa till psql-miljövariabler

Tilläggsfilerna kommer alltid att vara desamma för samma version av PostGIS och PostgreSQL oavsett operativsystem, så det går bra att kopiera över tilläggsfilerna från ett operativsystem till ett annat så länge du har PostGIS-binärerna redan installerade på dina servrar.

Om du vill installera tillägg manuellt på en separat server som skiljer sig från din utveckling måste du kopiera följande filer från tilläggsmappen till mappen PostgreSQL / share / extension i din PostgreSQL-installation samt de nödvändiga binärerna för vanlig PostGIS om du inte redan har dem på servern.

  • Det här är kontrollfilerna som anger information som t.ex. vilken version av tillägget som ska installeras om det inte anges. postgis.control, postgis_topology.control.

  • Alla filer i mappen /sql för varje tillägg. Observera att dessa måste kopieras till roten till PostgreSQL share/extension-mappen extensions/postgis/sql/*.sql, extensions/postgis_topology/sql/*.sql

När du har gjort det bör du se postgis, postgis_topology som tillgängliga tillägg i PgAdmin -> tillägg.

Om du använder psql kan du kontrollera att tilläggen är installerade genom att köra den här frågan:

Kod
SELECT name, default_version, installed_version
FROM pg_available_extensions
WHERE name LIKE 'postgis%'
ORDER BY name;
Utdata
┌──────────────────┬─────────────────┬───────────────────┐
│ name             │ default_version │ installed_version │
├──────────────────┼─────────────────┼───────────────────┤
│ postgis          │ 3.7.0dev        │ 3.7.0dev        │
│ postgis_raster   │ 3.7.0dev        │ 3.7.0dev        │
│ postgis_sfcgal   │ 3.7.0dev        │                   │
│ postgis_topology │ 3.7.0dev        │                   │
└──────────────────┴─────────────────┴───────────────────┘

Om du har tillägget installerat i den databas du frågar kommer du att se ett omnämnande i kolumnen installed_version. Om du inte får några poster tillbaka betyder det att du inte har några postgis-tillägg installerade på servern alls. PgAdmin III 1.14+ kommer också att tillhandahålla denna information i tilläggsavsnittet i databasbläddrarträdet och kommer till och med att tillåta uppgradering eller avinstallation genom att högerklicka.

Om du har tilläggen tillgängliga kan du installera postgis-tillägget i din valfria databas genom att antingen använda pgAdmin-tilläggsgränssnittet eller köra dessa sql-kommandon:

Kod
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;
CREATE EXTENSION postgis_sfcgal;
CREATE EXTENSION postgis_topology;

I psql kan du använda för att se vilka versioner du har installerat och även vilket schema de är installerade.

Kod
\connect mygisdb
\x
\dx postgis*
Utdata
List of installed extensions
┌─[ RECORD 1 ]────────────────────────────────────────────────┐
│ Name        │ postgis                                       │
│ Version     │ 3.7.0dev                                        │
│ Schema      │ public                                        │
│ Description │ PostGIS geometry, geography, and raster…      │
├─[ RECORD 2 ]────────────────────────────────────────────────┤
│ Name        │ postgis_raster                                │
│ Version     │ 3.7.0dev                                        │
│ Schema      │ public                                        │
│ Description │ PostGIS raster types and functions            │
├─[ RECORD 3 ]────────────────────────────────────────────────┤
│ Name        │ postgis_topology                              │
│ Version     │ 3.7.0dev                                        │
│ Schema      │ topology                                      │
│ Description │ PostGIS topology spatial types and functions  │
└─────────────────────────────────────────────────────────────┘
[Varning]

Tilläggstabellerna spatial_ref_sys, layer och topology kan inte säkerhetskopieras uttryckligen. De kan bara säkerhetskopieras när respektive tillägg postgis eller postgis_topology säkerhetskopieras, vilket endast sker när hela databasen säkerhetskopieras. Endast SRID-poster som inte ingår i PostGIS tas med i säkerhetskopior, så ändra inte de poster vi levererar och förvänta dig att ändringarna blir beständiga. Skapa ett ärende om du hittar ett problem. Tilläggstabellernas strukturer säkerhetskopieras aldrig eftersom de skapas med CREATE EXTENSION och antas vara samma för en viss version av ett tillägg. Dessa beteenden är inbyggda i PostgreSQL:s nuvarande tilläggsmodell.

Om du installerade 3.7.0dev, utan att använda vårt underbara utökningssystem, kan du ändra det till att vara utökningsbaserat genom att köra kommandona nedan för att paketera funktionerna i deras respektive utökning. Installation med `unpackaged` togs bort i PostgreSQL 13, så du rekommenderas att byta till en utökningsbyggnad innan du uppgraderar till PostgreSQL 13.

Kod
CREATE EXTENSION postgis FROM unpackaged;
CREATE EXTENSION postgis_raster FROM unpackaged;
CREATE EXTENSION postgis_topology FROM unpackaged;

2.2.6. Testar

Om du vill testa PostGIS-bygget kör du

Kod
make check

Ovanstående kommando kommer att köra igenom olika kontroller och regressionstester med hjälp av det genererade biblioteket mot en faktisk PostgreSQL-databas.

[Notera]

Om du konfigurerade PostGIS med icke-standardiserade PostgreSQL-, GEOS- eller Proj-platser kan du behöva lägga till deras biblioteksplatser i miljövariabeln LD_LIBRARY_PATH.

[Observera]

För närvarande förlitar sig make-kontrollen på PATH- och PGPORT-miljövariablerna när de utför kontrollerna - den använder inte PostgreSQL-versionen som kan ha angetts med hjälp av konfigurationsparametern --with-pgconfig. Så se till att ändra din PATH så att den matchar den upptäckta PostgreSQL-installationen under konfigurationen eller var beredd att hantera de överhängande huvudvärkarna.

[Notera]

Sandlådeförsedda byggkonton som inte är PostgreSQL-superanvändare kan delegera databasägarskapet under regressionscykeln genom att exportera POSTGIS_REGRESS_DB_OWNER. Testramverket skapar den tillfälliga regressionsdatabasen med den angivna rollen som ägare, medan anslutningen fortsätter med det mindre privilegierade kontot. Kombinera detta med POSTGIS_REGRESS_ROLE_EXT_CREATOR när rollen som skapar tillägget måste skilja sig från databasägaren.

Dessa variabler gör att automatiserade miljöer kan prova hela sökvägen för uppgradering och tilläggsinstallation utan att göra det anropande kontot till superanvändare, förutsatt att mål-PostgreSQL-instansen tillåter tilläggsinstallation av dessa delegerade roller.

Om make check lyckas kommer resultatet av nästan 500 tester att visas. Resultaten kommer att se ut ungefär som följande (många rader utelämnade nedan):

Kod
CUnit - A unit testing framework for C - Version 2.1-3
     http://cunit.sourceforge.net/

  .
  .
  .

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites     44     44    n/a      0        0
               tests    300    300    300      0        0
             asserts   4215   4215   4215      0      n/a
Elapsed time =    0.229 seconds

  .
  .
  .

Running tests

  .
  .
  .

Run tests: 134
Failed: 0


-- if you build with SFCGAL

  .
  .
  .

Running tests

  .
  .
  .

Run tests: 13
Failed: 0

-- if you built with raster support

  .
  .
  .

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites     12     12    n/a      0        0
               tests     65     65     65      0        0
             asserts  45896  45896  45896      0      n/a


  .
  .
  .

Running tests

  .
  .
  .

Run tests: 101
Failed: 0

-- topology regress

.
.
.

Running tests

  .
  .
  .

Run tests: 51
Failed: 0

-- if you built --with-gui, you should see this too

     CUnit - A unit testing framework for C - Version 2.1-2
     http://cunit.sourceforge.net/

  .
  .
  .

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      2      2    n/a      0        0
               tests      4      4      4      0        0
             asserts      4      4      4      0      n/a

utdata bör se ut som:

Utdata
============== dropping database "contrib_regression" ==============
DROP DATABASE
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing fuzzystrmatch               ==============
CREATE EXTENSION
============== installing postgis                     ==============
CREATE EXTENSION
============== running regression test queries        ==============
test test-normalize_address   ... ok

=====================
All 2 tests passed.
=====================

2.2.7. Installation

För att installera PostGIS skriver du

Kod
make install

Detta kommer att kopiera PostGIS-installationsfilerna till lämplig underkatalog som anges av konfigurationsparametern --prefix. I synnerhet:

  • Binärfilerna för laddaren och dumpern installeras i [prefix]/bin.

  • SQL-filerna, till exempel postgis.sql, installeras i [prefix]/share/contrib.

  • PostGIS-biblioteken är installerade i [prefix]/lib.

Om du tidigare körde kommandot make comments för att generera filen postgis_comments.sql, raster_comments.sq l, installerar du sql-filen genom att köra

Kod
make comments-install
[Notera]

postgis_comments.sql, raster_comments.sql, topology_comments.sql separerades från de typiska bygg- och installationsmålen eftersom det medför det extra beroendet av xsltproc.

2.3. Vanliga problem under installationen

Det finns flera saker att kontrollera när installationen eller uppgraderingen inte går som du förväntat dig.

PostgreSQL-versionerna stämmer inte överens.

Kontrollera att PostgreSQL 14 eller senare är installerat och att du kompilerar mot samma version av PostgreSQL-källkoden som den körande PostgreSQL-versionen. Förväxlingar kan uppstå om din Linux-distribution redan har installerat PostgreSQL eller om du tidigare har installerat PostgreSQL och glömt bort det. PostGIS fungerar endast med PostgreSQL 14 eller senare. En äldre version ger konstiga och oväntade felmeddelanden. Anslut till databasen med psql och kör denna fråga för att kontrollera vilken PostgreSQL-version som körs:

Kod
SELECT version();

Om du kör en RPM-baserad distribution kan du kontrollera om förinstallerade paket finns med kommandot rpm så här:

Kod
rpm -qa | grep postgresql

Återställer en uppgradering i en databas utan PostGIS.

Om uppgraderingen misslyckas, se till att du återställer till en databas som redan har PostGIS installerat.

Kod
SELECT PostGIS_Full_Version();

Kontrollera också att configure korrekt har upptäckt platsen och versionen av PostgreSQL, Proj-biblioteket och GEOS-biblioteket.

Utdata från configure används för att generera filen postgis_config.h. Kontrollera att variablerna POSTGIS_PGSQL_VERSION, POSTGIS_PROJ_VERSION och POSTGIS_GEOS_VERSION har ställts in korrekt.