PostgreSQL und PostGIS/ Druckversion
Was kann PostgreSQL und PostGIS?
Mit PostgreSQL können umfangreiche Datenbanken erstellt werden. Im Vergleich zu lizenzgeschützten Produkten, etwa der Datenbanksoftware von Oracle, sind die mit Postgres angebotenen Funktionen in vielen Bereichen gleichwertig.
Zusätzlich kann eine PostGIS-Erweiterung auf eine bestehende Postgres-Installation eingerichtet werden mit der Geometrien direkt in der Datenbank abgelegt werden. Mit PostGIS werden so Funktionen der Geografischen Informationssysteme (GIS) umgesetzt.
Installation PostgreSQL
Ziel
BearbeitenPostgreSQL Version 8.4.4.1, inklusive der Datenbankverwaltungssoftware pgAdminIII wird auf dem eigenen Rechner installiert.
Installationsschritte unter Windows
Bearbeiten- Setup-Datei: postgresql-8.4.4-1-windows.exe > Doppelklick
- Destination Folder > Zielordner angeben
- Passwort > eigenes Passwort wählen[1]
- Port > 5432
- Select the locale to be used by the new database cluster > POSIX
- Install pl/pgsql in template1 database? > Ja
- Installationsdauer auf PC mit aktueller Hardwareausstattung: 2 min
- Launch Stack Builder at exit? > Ja
Postgres ist nun installiert.
Weblinks für die Windows-Installation
Bearbeiten- Installationsanleitung PostgreSQL (Deutsch): www.postgresql.de/postgresql8_win.html und Download: www.postgresql.org/download/windows
Installationsschritte unter Linux (Ubuntu)
Bearbeiten- Terminal öffnen
- nachfolgenden Text einfügen - es wird automatisch aus der APT-Paketverwaltung heraus installiert:
sudo apt-get install postgresql
- Installationsdauer auf PC mit aktueller Hardwareausstattung: 2 min
Postgres ist nun installiert.
Weblinks für die Linux-Installation (Ubuntu)
Bearbeiten- Installationsanleitung PostgreSQL, pgAdmin III (Englisch): [1]
Anmerkungen
Bearbeiten- ↑ Bei einer erneuten Installation von PostgreSQL erscheint bei Neu-Eingabe des Passwortes die Meldung: The password specified was incorrect. Please enter the correct password for the postgres windows user account. In diesem Fall ist folgender Befehl über die Windows-Kommandozeile (Win-Taste+R) auszuführen: net user postgres /delete
Das Admin-Tools pgAdmin
Einrichten der PostGIS-Erweiterung
Ziel
BearbeitenDie Postgres-Datenbank wird durch Installation des PostGIS-Pakets die Datenbank GIS-fähig und kann auch kartografische Inhalte aufnehmen.
Installationsschritte unter Windows
Bearbeiten- Setup-Datei: postgis-pg84-setup-1.5.1-1.exe > Doppelklick
- Select components to install > 1)PostGIS 2)Create Spatial Database
- Destination Folder > Zielordner eingeben
- Database Connection Information
- User Name > postgres oder anderen Nutzernamen
- Password > Passwort wählen
- Port > 5432
- Database Name > postgis oder anderen Datenbanknamen
- Would You like to enable the shp2pgsql graphical loader plugin in PostgreSQL PgAdmin III? If you choose Yes, this will overwrite the plugins.ini in your PostgreSQL PgAdminIII subfolder and back it up to plugins.ini.bak. If you choose No, you can later replace plugins.ini with the plugins.postgis.ini file in your PgAdminIII PostreSQL install folder? > Ja
Weblinks für Windows-Installation
Bearbeiten- Installationsdateien PostGIS: http://postgis.refractions.net/download/windows/
SQL-Syntax in PostgreSQL
Anlage einer Beispieldatenbank
Inhalte der Beispieldatenbank
BearbeitenDie Darstellung der Funktionen lässt sich am Besten in Form eines einfachen Beispiels erläutern. Der Buchungsverkehr von zwei persönlichen Bankkonten (Girokonto und Sparkonto) soll nachvollzogen werden. Maßgeblich sind dabei zwei Tabellen:
- bankkonto - mit den Grunddaten, wie Kontonummer, Inhabername, Bankinstitut, Bankleitzahl
- buchungen - mit dem Buchungsgeschehen (Ein- und Auszahlungen) auf den jeweiligen Konten.
Zu beachten ist die grundsätzliche Pflicht, Bezeichnungen von Schema, Tabellen, Tabellenspalten etc. klein zu schreiben.
Anlage des Schemas
BearbeitenVorgaben zu Form und Beziehung der Daten werden durch die Anlage eines Schemas vorgegeben. Es wird ein Schema mit dem Namen bankkonto erzeugt, welches dem Nutzer Martin gehört.
Anlage einer Tabelle
Bearbeiten-- Tabelle bankkonto
CREATE TABLE bankkonto.bankkonto
(
bkid serial NOT NULL,
kontonummer int,
inhaber_name character varying(255),
bank_name character varying(255),
bank_blz character varying(255)
)
WITH (
OIDS=TRUE
Einfügen von Primär- und Fremdschlüsseln
BearbeitenZum Herstellen von Beziehungen zwischen einzelnen Tabellen werden Schlüsselfelder definiert, die in den verbundenen Tabellen in gleicher Form enthalten sind. Unterschieden werden dabei Primärschlüssel und Fremdschlüssel.
-- Primary-Key
ALTER TABLE bankkonto.bankkonto
ADD CONSTRAINT bankkonto_pkey PRIMARY KEY (bkid);
-- Foreign-Key
ALTER TABLE bankkonto.bankkonto
ADD CONSTRAINT "fkFL" FOREIGN KEY (id)
REFERENCES bankkonto.buchungen (id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE CASCADE;
Einfügen einer weiteren Tabelle inkl. Schlüssel
Bearbeiten-- Tabelle Buchungen zu den Konten
CREATE TABLE bankkonto.buchungen
(
bkid integer NOT NULL,
buchung_dat NOT NULL,
buchung_empfaenger character varying(250) NOT NULL,
verwendungszweck character varying(100),
bemerkungen text
)
WITH (
OIDS=TRUE
);
-- Foreign-Key
ALTER TABLE bankkonto.buchungen
ADD CONSTRAINT "fkOKID" FOREIGN KEY (bkid)
REFERENCES bankkonto.bankkonto (bkid) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE CASCADE;
Sichten und Auswertungen
PostgreSQL-Datensicherung
Das Wikibook Datensicherung stellt bereits grundlegende Konzepte vor. Die einfachste Lösung alle Inhalte der Datenbank zu sichern, bestünde in der Anlage regelmäßiger Kopien des Ordners, der alle Daten enthält. Besser und vor allem zuverlässiger ist die Einrichtung automatisierter Aufgaben, etwa unter Linux in Form sogenannter Cronjobs.
Bereitstellen von Web-Diensten