Unterschiede zwischen den Revisionen 1 und 10 (über 9 Versionen hinweg)
Revision 1 vom 2005-06-21 19:15:53
Größe: 1019
Autor: anonym
Kommentar: erste Einträge
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 4: Zeile 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.
Zeile 12: Zeile 14:
 * dann im Prompt {{{CREATE DATABASE irgendeinname}}} eingeben, wobei irgendeinname durch irgendeinen Namen ersetzt werden kann ;>  * dann im Prompt {{{CREATE DATABASE irgendeinname ;}}} eingeben, wobei irgendeinname durch irgendeinen Namen ersetzt werden kann. Semikolon beachten
Zeile 14: Zeile 16:
 * 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
}}}
Zeile 17: Zeile 36:
 * {{{CREATE USER name PASSWORD 'passwort'}}} eingeben, wobei name und passwort ersetzt werden sollten  * {{{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.

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.