Unterschiede zwischen den Revisionen 9 und 10
Revision 9 vom 2005-06-23 09:31:18
Größe: 3081
Autor: phear
Kommentar:
Revision 10 vom 2005-06-23 10:02:07
Größe: 4000
Autor: phear
Kommentar: odbc kram rein
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 47: Zeile 47:
 * so eine {{{/etc/odbcinst.ini}}} erstellen: {{{
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/lib/odbc/psqlodbc.so
Setup = /usr/lib/odbc/libodbcpsqlS.so
Debug = 0
CommLog = 1
FileUsage = 1
}}}
 * so eine {{{/etc/odbc.ini}}} erstellen: {{{
[PostgreSQL irgendeinname]
Description = PostgreSQL irgendeinname
Driver = PostgreSQL
Trace = No
TraceFile = /tmp/psqlodbc.log
Database = irgendeinname
Servername = localhost
UserName = username
Password = passwort
Port = 5432
Protocol = 6.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =
}}}
 * jetzt muesste {{{ isql -vv 'PostgreSQL irgendeinname' username}}} klappen.

DISCLAIMER: Das ist und wird kein Tutorial oder richtiges Howto, es ist eher sowas wie eine Merkhilfe für den Autoren.

Benutztes System: Debian GNU/Linux. Benutzte Postgres-Version: 7.4.

Die Sachen, die im Folgenden aus komplett grossgeschriebenen Worten bestehen (CREATE USER und sowas) sind SQL-Befehle. Meist ist nur eine von vielen Varianten angegeben (CREATE USER hat z.B. viele hier ungenannte Parameter). Zur Referenz empfehle ich einfach irgendein SQL-Buch.

Installation

  • apt-get install postgresql

  • ((Dinge, die ich vergessen habe. Werden eingefügt, wenn ich die Info wiederfinde bzw. nochmal installieren muss.))

Eine Datenbank einrichten

  • user postgres werden (als root su postgres)

  • template1 ist die default-Datenbank zur Administration aller anderen Datenbanken. Darum eingebena(als postgres): psql template1

  • dann im Prompt CREATE DATABASE irgendeinname ; eingeben, wobei irgendeinname durch irgendeinen Namen ersetzt werden kann. Semikolon beachten

  • um die jetzt bestehende Datenbank zu connecten, einfach \c irgendeinname eingeben.

  • defaultmaessig steht in der Zugriffs-Config-Datei /etc/postgresql/7.4/main/pg_hba.conf drin, dass lokale Zugriffe per ident-System authentifiziert werden. Folgende Änderungen der Datei ändern dies auf eine Passwort-Abfrage des Datenbank-Users, der nachher eingerichtet wird:

    • aus:

      # All other connections by UNIX sockets
      local   all         all                                             ident sameuser
      #
      # All IPv4 connections from localhost
      host    all         all         127.0.0.1         255.255.255.255   ident sameuser
    • wird:

      # All other connections by UNIX sockets
      local   all         all                                             password
      #
      # All IPv4 connections from localhost
      host    all         all         127.0.0.1         255.255.255.255   password

Einen User in der neuen Datenbank einrichten

  • wieder mit psql in template1 einloggen
  • CREATE USER name PASSWORD 'passwort'; eingeben, wobei name und passwort ersetzt werden sollten

  • ALTER USER name CREATEUSER; macht nen superuser aus dem erstellten user.

Backup und Restore einer Datenbank

  • auf den Rechner einloggen und postgres werden
  • Backup: pg_dumpall > db.out

  • Restore: psql -f db.out template1

  • db.out kann natürlich beliebig benannt werden.

ODBC Schnittstelle an die Datenbank ran

  • apt-get install odbc-postgresql unixodbc

  • so eine /etc/odbcinst.ini erstellen:

    [PostgreSQL]
    Description     = PostgreSQL ODBC driver
    Driver          = /usr/lib/odbc/psqlodbc.so
    Setup           = /usr/lib/odbc/libodbcpsqlS.so
    Debug           = 0
    CommLog         = 1
    FileUsage       = 1
  • so eine /etc/odbc.ini erstellen:

    [PostgreSQL irgendeinname]
    Description         = PostgreSQL irgendeinname
    Driver              = PostgreSQL
    Trace               = No
    TraceFile           = /tmp/psqlodbc.log
    Database            = irgendeinname
    Servername          = localhost
    UserName            = username
    Password            = passwort
    Port                = 5432
    Protocol            = 6.4
    ReadOnly            = No
    RowVersioning       = No
    ShowSystemTables    = No
    ShowOidColumn       = No
    FakeOidIndex        = No
    ConnSettings        =
  • jetzt muesste  isql -vv 'PostgreSQL irgendeinname' username klappen.

Mit PGAdmin eine Datenbank verwalten

Datenbank zur Liste hinzufügen

  • erstmal apt-get install pgadmin3 und starten

  • File - Add Server - ...
    • Address ist in diesem Beispiel 127.0.0.1, ansonsten muss entsprechend oben auch die Zugriffsteuerung angepasst werden

    • Initial DB ist hier irgendeinname.

      • Kann sein, dass mit template1 und User postgres auch die Erstellung neuer Datenbanken moeglich ist. Ungetestet.

    • Username und Passwort auch wie oben.

PostgresqlStichpunkte (zuletzt geändert am 2012-06-13 21:26:25 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.