Installation von PostgresSQL 7.4 und ODBC

Benötigte Ports/Packages

  1. databases/postgresql7
  2. databases/unixODBC

Installation und Konfiguration von PostgreSQL

Grundlegendes Setup

Nach der Installation aus der Datenbank und aller bestehenden Abhängigkeiten ist es zuersteinmal notwendig die Datenbank zu initialisieren und den Daemon in der /etc/rc.conf bekanntzumachen:

postgresql_enable="YES"

Die Initialisierung erfolgt über

/usr/local/etc/rc.d/010.pgsql.sh initdb

Abschließend kann man jetzt den Datenbankserver das erste mal von Hand starten:

/usr/local/etc/rc.d/010.pgsql.sh start

Sicherheitsrelevante Einstellungen

Damit der Datenbankserver nicht der gesamten Weltweiten Internetgemeinde offensteht sollte man sich einige Gedanken zur Sicherheit machen. Als erstes sollten alle Datenbankbenutzer ein Passwort haben, damit dieses auch verwendet wird müssen noch einige Einstellungen in den Konfigurationsdateien (postgresql.conf und pg_hba.conf) getätigt werden, da PostgreSQL von Hause aus sehr locker eingerichtet ist.

Die Passwörter für die Benutzer setzt man direkt über die Datenbank:

# psql -U pgsql template1

Welcome to psql 7.4.9, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

template1=# ALTER USER pgsql PASSWORD 'password'; 
ALTER USER
template1=# CREATE USER username PASSWORD 'password';
CREATE USER

In der Datei ~pgsql/postgresql.conf müssen die folgenden Zeilen auskommentiert bzw. angepasst werden, damit TCP Verbindungen erlaubt werden:

tcpip_socket = true
port = 5432
unix_socket_permissions = 0700

Die Datei ~pgsql/pg_hba.conf steuert schließlich den Zugriff auf die Datenbanken. Mit den untenstehenden Einstellungen werden alle Verbindungen über den Unix-Socket erlaubt und alle weiteren mit einer Passwortabfrage auf MD5-Hash Basis gesteuert.

# TYPE  DATABASE    USER        IP-ADDRESS   IP-MASK           METHOD
local   all         all                                        trust
# IPv4-style local connections:
host    all         all         127.0.0.1    255.255.255.255   md5
# IPv6-style local connections:
host    all         all         ::1          ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff        md5

Konfiguration von ODBC

Für die Konfiguration der ODBC Schnittstelle sind zwei Dateien notwendig. Zum einen die Datei /usr/local/etc/odbcinst.ini wo die systemweiten Einstellungen zu den vorhandenen Schnittstellen angegeben werden. Für PostgreSQL sind die folgenden Daten einzutragen:

[PostgreSQL]
Description     = ODBC for PostgreSQL
Driver          = /usr/local/lib/libodbcpsql.so
Setup           = /usr/local/lib/libodbcpsqlS.so
FileUsage       = 1

Zum zweiten muss jeder Benutzer eine eigene Konfigurationsdatei für seine benötigten Datenbankschnittstellen anlegen. Diese wird unter ~/.odbc.ini abgelegt und sieht wie folgt aus:

[schnittstellenname]
ReadOnly       = 0
Servername     = 127.0.0.1    
Database       = datenbankname
Port           = 5432
Driver         = PostgreSQL
Protocol       = 7.4.2
UserName       = benutzername
Password       =

Mit dem im ODBC enthaltenen isql Tool kann man nun über den ODBC-Treiber auf die Datenbank zugreifen:

# isql -v schnittstellenname benutzername passwort
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 
Meine Stimme gegen Nazis! Nazis raus aus dem Internet Stoppt die Vorratsdatenspeicherung! Jetzt klicken und handeln! rsp-blogs.de
Soweit nicht anders angegeben, stehen die Bilder/Texte unter der Creative Commons Attribution Non-Commercial Share Alike Lizenz. Logos gehoeren dem jeweiligen Eigentümer.