Installation von PostgresSQL 7.4 und ODBC
Benötigte Ports/Packages
- databases/postgresql7
- 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>



