Impostazione di PostgreSQL con PostGIS su Debian GNU/Linux Top 10

Impostazione di PostgreSQL con PostGIS su Debian GNU/Linux Top 10
Come simboleggiato dall'elefante blu con il suo simbolo di progetto disctintivo, PostgreSQL appartiene ai sistemi di gestione del database SQL più stabili (DBMS) di sempre: un elefante è ben noto per avere un grande ricordo e non dimentica mai ciò che ha osservato.

Disponibile da più di 20 anni, PostgreSQL ha dimostrato la sua notevole affidabilità in casi d'uso che vanno dai set di dati piccoli a enormi. L'elenco di utenti commerciali e non commerciali soddisfatti è piuttosto lungo e, tra gli altri, include il Fondo per bambini delle Nazioni Unite (UNICEF), l'archivio Creative Commons, Skype e il gruppo BMW.

Il suo modello di gestione delle transazioni integrati e l'insieme di tipi di dati geometrici hanno contribuito a distinguere il software da altri sviluppi come MySQL/MariaDB, Redis o SQLite . In questo articolo ci concentriamo sulla configurazione di PostgreSQL 11.5 in combinazione con Postgis 2.5 .

Postgis è l'estensione spaziale di PostgreSQL che aggiunge sia funzioni geometriche che caratteristiche geografiche a PostgreSQL. Semplicemente parlando, questi dati spaziali agiscono come forme e sia astratti che incapsulano strutture spaziali come confine e dimensioni. Tra gli altri, i dati recentemente disponibili lo sono Punto, Superficie, E Curva.

Uno degli utenti più importanti di Postgis è l'Institute Géographoque National (IGN) della Francia che raccoglie, integra, gestisce e distribuisce informazioni geografiche di riferimento per l'intero paese. Dal luglio 2006, Postgis è di grande utilità. Fino ad ora il database di IGN contiene oltre 100 milioni di oggetti spaziali.

Imposteremo PostgreSQL/PostGIS su Debian GNU/Linux 10 "Buster" utilizzando l'ambiente desktop XFCE .

Impostazione di PostgreSQL

L'impostazione dei DBM PostgreSQL su un GNU/Linux Debian richiede solo un livello moderato di conoscenza dell'amministrazione del sistema. La sfida qui è il giusto ordine dei passaggi richiesti (vedere per un elenco completo con le immagini). Come per ogni altra distribuzione di Linux, ci sono impostazioni predefinite e nomi dei pacchetti che possono essere un po 'problematici. Non gemiamo e iniziamo invece.

Installazione di PostgreSQL come software

Il primo passo è l'installazione del pacchetto PostgreSQL. In un terminale puoi farlo come segue:

# Apt-get Installa PostgreSQL

Utilizzando il sistema di gestione della configurazione Chef, una ricetta di base che porta allo stesso risultato contiene solo le seguenti righe:

Pacchetto 'PostgreSQL' DO AZIONE: Installa fine
SERVIZIO 'POSTGRESQL' DO AZIONE: [: Abilita ,: Start] End

Queste linee portano all'installazione del pacchetto PostgreSQL (più dipendenze del pacchetto) e abilitando il servizio secondo. Per controllare il servizio PostgreSQL per essere in esecuzione, questo comando dovrebbe darti un output positivo, quindi:

# SERVIZIO POSTGRESQL STATO

Completare l'installazione per l'account dell'amministratore

L'utente Postgres amministra i database PostgreSQL. Il secondo passaggio è finalizzare questo account e inizia con l'aggiunta di una password alle sue credenziali come segue:

# passwd postgres
Nuova password:
Riprovare la nuova password:
Passwd: password aggiornata correttamente
#

Accesso come utente Postgres consente di concedere ad altri utenti l'accesso al database PostgreSQL. Successivamente, dobbiamo aggiungere un utente nel passaggio tre. Si prega di essere consapevoli del fatto che sia il sistema Linux che PostgreSQL mantengono i propri database utente separatamente. Ecco perché devi assicurarti che esista anche un normale utente Linux con lo stesso nome.

Aggiunta di un account utente

Il passaggio quattro viene eseguito come utente Postgres. Cambia da root a Postgres e crea un nuovo account per l'utente LinuxHint nel database PostgreSQL con l'aiuto di questo comando:

Postgres $ CreateUser -Interactive Linuxhint
Il nuovo ruolo sarà un superutente? (y/n) n
Il nuovo ruolo deve essere autorizzato a creare database? (y/n) n
Il nuovo ruolo è autorizzato a creare nuovi ruoli? (y/n) n
Postgres $

Successivamente, imposta una password per l'utente di recente creazione Linuxhint. Accedi alla shell del database utilizzando PSQL e imposta la nuova password utilizzando il comando \ password. Dopo quel tipo in \ Q per lasciare la shell del database e tornare alla shell nel terminale:

Postgres $ PSQL PSQL (11.5 (Debian 11.5-1+deb10u1)) digitare "aiuto" per ulteriore aiuto.
Postgres =# LinuxHint Immettere la nuova password: RECIPI LA Nuova password: Postgres =# Postgres $

Il passaggio cinque è la creazione di un database separato per l'utente Linuxhint. Per fare così digita il comando creato come utente postgres:

POSTGRES $ creato binuxhint

Ora, l'utente Linuxhint ha il proprio database e può lavorare con esso in base alle sue esigenze.

Aggiunta di Postgis

Il passaggio sei consiste nell'installazione del pacchetto Postgis. Come fatto per PostgreSQL prima, può essere fatto come segue usando APT-get:

# Apt-get Installa Postgis

In alternativa, una semplice ricetta per lo chef sarebbe questa:

pacchetto "Postgis" do
Azione: installa
FINE

Il pacchetto Postgis ha una dipendenza per il pacchetto Debian PostgreSQL-11-Postgis-2.5-script (installati automaticamente) che collega Postgis a PostgreSQL ed elimina una serie di passaggi manuali necessari in altre distribuzioni. Non importa quale dei due metodi di installazione scelga - Apt -get o Chef -, la gestione dei pacchetti Debian si assicurerà che tutti i pacchetti dipendenti siano entrambi installati e configurati correttamente.

Il passaggio sette è l'abilitazione dell'estensione di Postgis. Come spiegato nella documentazione di Postgis, non installarla nel database denominato Postgres poiché questo è in uso per le dati interne di PostgreSQL e abilitalo solo in ciascun database utente in cui è effettivamente necessario. Accedi come utente Postgres, connettiti al database desiderato e crea le due estensioni PostGIS e PostGis_Topology come mostrato di seguito. Il comando \ c si collega al database desiderato e crea estensione rende disponibile l'estensione desiderata:

Postgres =#

Ora sei connesso con il database "LinuxHint" come utente "Postgres".

LinuxHint =# Crea PostGis Extension;
Crea estensione
LinuxHint =# Crea estensione PostGis_Topology;
Crea estensione
LinuxHint =#

Il passaggio sette è per la convalida che l'attivazione dell'estensione ha avuto successo. Il comando PostgreSQL \ dx elenca le estensioni installate e sia PostGis che PostGis_topology dovrebbero essere nell'elenco, ora.

Postgis fornisce anche altre estensioni. Ti consigliamo di installare solo ciò di cui hai bisogno. Vedere la documentazione di Postgis per ulteriori informazioni sulle estensioni.

Aggiunta di dati

Avere impostare PostGis correttamente, è tempo di aggiungere tabelle e riempirle di dati. Molti dati geografici sono disponibili online gratuitamente, ad esempio da Geofabrik. I dati sono forniti come file di forma che è un formato di dati vettoriali comuni per il software GIS.

Avendo scaricato il file di forma, caricare il contenuto del file di forma in Postgis con l'aiuto dello strumento Special CommandLine STHP2PGSQL. L'esempio seguente dimostra come convertire il file di forma in una sequenza di comandi SQL, prima e caricare l'elenco dei comandi SQL nel database usando PSQL, Avanti:

Linuxhint $ shp2pgsql -cdii ferrovie.Railway SHP> Railway.SQL
Tipo di forma: arco
Tipo di Postgis: multilinestring [2]
Linuxhint $
LinuxHint $ Psql -f Railway.SQL

La figura seguente mostra l'output stampato sullo schermo non appena si carica i dati.

Ora, PostgreSQL/Postgis è al tuo servizio e pronto a ricevere le tue query SQL. Ad esempio, Pgadmin ti consente di dare uno sguardo sotto il cofano in pochi minuti. La figura seguente mostra questo per i dati caricati. La colonna più a destra ha un multilinestro di tipo geometrico.

Conclusione

La configurazione di PostgreSQL/Postgis non è scienza missilistica. Con i passaggi spiegati sopra puoi farlo in meno di un'ora e avere risultati rapidamente. Et voilà!

Collegamenti e riferimenti
  • Ambiente desktop XFCE
  • Postgresql
  • Postgis
  • Shahriar Shovon: Installazione di PostgreSQL su Debian 10, LinuxHint
  • Geofabrik, download
  • Shapefile
  • Chef
  • Redis
  • Sqlite
  • Unicef
  • Debian GNU/Linux Buster, Debian Wiki
  • Creative Commons
  • Skype
  • Gruppo BMW
  • Institute GéographoGique National (IGN)