PostGIS Dokumentation

PoszGIS ist eine Erweiterung für PostgreSQL welche neue geometrischen Datentypen hinzufügt und zum Beispiel spatiale Abfragen bietet. Bei so einem System muss man sich natürlich erstmal einiges anlesen und hat auch sicherlich einige Fragen. Bei der Beantwortung solcher Fragen helfen die Seiten http://postgis.refractions.net/documentation/manual-1.3/ und http://wiki.cismet.de/index.php/Postgres-Postgis-FAQ. Bei ersterem handelt es sich um das Handbuch und bei letzerem um eine sehr interessante FAQ zum Thema PostGIS. Da sollte für jeden etwas dabei sein.

PostgreSQL und PostGIS unter Windows installieren

Möchte man PostgreSQL unter Windows installieren so muss man erst einmal den Installer unter http://www.postgresql.org/download/windows (den One Click Installer) herunterladen.

Sollte es bei der Installation zu einem Fehler kommen und im Fehlerlog irgendetwas mit VBS erwähnt werden, so sollte der Windows Scripting Host (siehe http://de.wikipedia.org/wiki/Windows_Script_Host) nachinstalliert werden.

Ein anderes Problem kann sein das der angelegte Nutzer Postgre nicht genügend Rechte auf dem Rechter hat. So sollte man ihn einfach zum Administrator befördern und die Installation ein weiteres Mal laufen lassen.

Sollte der Dienst nach der Installation nicht starten so kann das auf ein Rechteproblem hinweisen. Dazu sollte man unter Systemsteuerung -> Verwaltung -> Dienste in die Eigenschaften des Dienstes PostgreSQL Server schauen und unter dem Tab Anmelden Lokales Systemkonto anwählen und den Rechner neu starten.

Läuft der Dienst dann so kann man sich daran machen PostGIS zu installieren. Das ganze macht man über den Application Stack Builder. Dort wählt man PostGIS aus und lässt sich durch das Setup geleiten. Nach der Installation sollte man den Rechner neustarten.

Versucht man sich nun mit seinem PostgreSQL Server von einer anderen Rechner zu verbinden (z.B. mit pgAdmin III) so bekommt man folgende Fehlermeldung zu sehen:

Server doesn’t listen 

The server doesn’t accept connections: the connection library reports

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host „105.106.114.128“ and accepting TCP/IP connections on port 5433?

If you encounter this message, please check if the server you’re trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network / VPN / SSH tunnel / firewall configured correctly?

For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first.

For PostgreSQL servers starting with version 8.0, this is controlled using the „listen_addresses“ parameter in the postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use ‚*‘ to listen on all available IP addresses. For earlier servers (Version 7.3 or 7.4), you’ll need to set the „tcpip_socket“ parameter to ‚true‘.

You can use the postgresql.conf editor that is built into pgAdmin III to edit the postgresql.conf configuration file. After changing this file, you need to restart the server process to make the setting effective.

If you double-checked your configuration but still get this error message, it’s still unlikely that you encounter a fatal PostgreSQL misbehaviour. You probably have some low level network connectivity problems (e.g. firewall configuration). Please check this thoroughly before reporting a bug to the PostgreSQL community.

Dazu trägt man sich dann in der pg_hba.conf die Zeile

host all all 101.102.103.104/32 md5 

dazu. Natürlich muss man das ganze mit seiner IP Adresse machen (z.B. 192.168.0.0/16 für 192.168.0.0 bis 192.168.255.255) :)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/PostgreSQL
http://de.wikipedia.org/wiki/PostGIS

ADO.NET Provider für PostgreSQL

Wer auf der Suche nach einem ADO.NET Provider für PostgreSQL ist der sollte sich den Open Source Provider Npgsql anschauen welcher zur Zeit in Version 2.0.5 vorliegt. Der Provider wirkt stabil und fällt auch nicht durch nichtdeterministisches Verhalten auf. Für alle die sich mit .NET und PostgreSQL auseinandersetzen wollen (oder müssen) ist Npgsql sicher einen Blick Wert. Zu finden ist der Provider unter http://npgsql.projects.postgresql.org/.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Postgre
http://npgsql.projects.postgresql.org/docs/manual/UserManual.html

Connections Strings für Datenbanken

Da ist man grade fleißig beim Entwickeln und möchte sich mal schnell mit einer Datenbank verbinden und weiß nicht mehr wie der Connection String lautet oder welche Parameter erlaubt waren. Bei diesem Problem hilft die Seite http://www.connectionstrings.com/. Auf der Seite werden Connection Strings für alle möglichen Datenbanken vorgehalten, von PostgreSQL über MySQL bis DB2. Dabei wird auch auf verschiedene Datenbank API’s eingegangen. Sehr empfehlenswert :)