Sign in Join
Wiki copytemporary

postgres/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11=Übersicht= Sie können mit Free Pascal / Lazarus auf einen PostgreSQL-Datenbank-Server zugreifen.\
22
33Vorteile von PostgreSQL:
44
55- PostgreSQL ist weit verbreitet
66- PostgreSQL ist sehr stabil
77- PostgreSQL hat eine komplettes Feature-Set
88- PostgreSQL ist kostenfrei erhältlich
99
1010Besonderheiten bei 64 Bit Windows: Sie finden [[Windows Programming Tips|hier]] Hinweise für die Zusammenarbeit von bestimmten Free Pascal / Lazarus Versionen mit 64 Bit Windows Versionen.\
1111
1212=Zeos= Die Bibliothek Zeos unterstützt neben anderen Datenbanken auch PostgreSQL.\
1313Die Bibliothek Zeos finden Sie unter [[ZeosDBO]]\
1414
1515=Bibliotheken für den Zugriff auf PostgreSQL=\
1616Lazarus unterstüzt PostgreSQL mit einer eigenen PostgreSQL Verbindungskomponente/Klasse.\
1717![](/wiki-images/c/c5/Sqldbcomponents.png%E2%80%8E)\
1818
1919Wenn Sie ausliesslich mit Free Pascal arbeiten, dann fügen Sie die Unit *pqconnection* in Ihrer uses Anweisung hinzu.\
2020
2121Hinweis: Wenn der Client libpq C geladen/entladen wird, dann erstellt der Client libpq C einige Speicherlecks (zumindest bis Version 9.3 von Postgres). Die SQLdb lädt den Client libpq C, wenn die erste Verbindung zur Datenbank erstellt wird und Sie entlädt den Client libpq C, wenn die letzte Verbindung zur Datenbank geschlossen wird. Das heisst, wann immer die letzte Verbindung zur Datenbank geschlossen wird, wird ein kleines Speicherleck erstellt. Um dem vorzubeugen (und um die Anwendung zu beschleunigen) können Sie den Client libpq C einmal beim starten Ihres Programmes mit dem Aufruf InitialisePostgres3 in den Speicher laden.\
2222
2323Die Eigenschaft CharSet erwartet einen String, der die Nummer des von Ihrem Betriebsystem verwendeten Zeichensatzes enthält.
2424
2525``` pascal
2626 // statt '...' seht an der Stelle natürlich die Nummer des von Ihrem Betriebsystem verwendeten Zeichensatzes.
2727 PQConnection.CharSet := '...';
2828```
2929
3030Die Komponente TPQConnection unterstützt nicht direkt die Eigenschaft Port, aber man kann den Port in der Komponente über den Parameter Params übergeben:
3131
3232``` pascal
3333 PQConnection.Params.Add('port=' + VariableContainingPort);
3434```
3535
3636Auch andere PostgreSQL spezifische Verbindungsparameter können mit der Eigenschaft Params angegeben werden:
3737
3838``` pascal
3939 PQConnection.Params.Add('application_name=''yourappname''');
4040```
4141
4242==Beispiel== Siehe auch das Tutorial [[SQLdb Tutorial1]] zur Erstellung eines GUI-fähigen Datenbank-Programms, das für PostgreSQL, SQLite, Firebird und im Grunde für jedes RDBMS (Relational Database Management System = relationales Datenbankmanagementsystem) das von SQLdb unterstützt wird geschrieben ist.\
4343
4444==Event monitoring (Ereignisüberwachung)== Wenn Sie FPC (Free Pascal Compiler) 2.6.2 oder höher und eine aktuelle Version von Lazarus haben, dann können Sie die Komponente *TPQTEventMonitor* zur Überwachung der Ereignisse von PostgreSQL verwenden.\
4545
4646*PQEventMonitor* ist ein einfacher wrapper für FPC.\
4747Für Details beachten Sie bitte das FPC Beispielprogramm pqeventstest.pp.\
4848
4949==Installation und Fehler== Wie bei allen SQLdb Komponenten, so müssen Sie auch hier die Treiber Bibliotheken (libraries) des Datenbankherstellers hinzufügen.\
5050Zum Beispiel können Sie diese Treiber Bibliotheken unter Windows in folgenden Pfaden finden:
5151
5252- Im Installationsverzeichnis der PostgreSQL Treiber Bibliotheken
5353- Im Suchpfad Ihres Betriebssystems (z. B. bei Windows: c:\windows\system32, usw.)
5454- Im Ausgabeverzeichnis Ihres Programms
5555- usw.
5656
5757===Windows 64 Bit Treiber=== Wenn Sie 64 Bit Anwendungen entwickeln, dann benötigen Sie eine 64 Bit PostgreSQL Treiber Bibliothek und ein 64 Bit Betriebssystem.\
5858
5959> **Note:** FPC 2.6.0 (ebenso Lazarus 1.0.4 oder früher) unterstützen unter Windows 64 Bit kein PostgreSQL (es sei den, Sie Patchen und recompilieren FPC und Lazarus).
6060
6161Ein Windows-64-Bit-Treiber ist nicht leicht zu finden, aber er kann hier heruntergeladen werden: [PostgreSQL](http://www.enterprisedb.com/products-services-training/pgdownload#windows%7CDownload).\
6262Die 64 Bit Treiber Bibliothek kann in C:\Windows\system32 oder unter C:\Windows\syswow64 installiert werden.\
6363
6464===Error: "Can not load PostgreSQL client library "libpq.dll""=== Ihr Programm kann die PostgreSQL Treiber Bibliothek nicht finden.\
6565Siehe oben, wie die PostgreSQL Treiber Bibliothek zu installieren ist.\
6666Ein gutes Beispiel wie man Treiber Bibliotheken unter Windows für die Verbindung zur PostgreSQL Datenbank einfügt findet man unter [easyDB](http://paginas.fe.up.pt/~asousa/wiki/doku.php?id=proj:lazarus_projects#easy_db).\
6767
6868Unter Linux/Unix/OSX stellen Sie bitte sicher, dass die PostgreSQL Treiber Bibliothek zum Beispiel in einem dieser Pfade zu finden ist:
6969
7070- Unter Linux fügen Sie den Pfad zur Datei libpq.so in den Abschnitt libraries in der Datei /etc/fpc.cfg file hinzu. Beispiel Eintrag: -Fl/usr/local/pgsql/lib
7171- Manchmal ist es nötig einen symbolischen Link von einer speziellen Versinon der Bibliothek zu einem allgemeinen Bibliotheksnamen zu erstellen:
7272 ``` bash
7373 ln -s /usr/lib/pqsql.so.5 /usr/lib/pqsql.so
7474 ```
7575- Besser ist es, Sie installieren den PostgreSQL Client mit dem Paketmanager Ihrer Linux/Unix/OSX Distribution
7676
7777=PostgreSQL package: die low level units= So wie bei allen Datenbanken, so hängt auch der SQLDB-Code von einer unteren Programmierebene ab, nämlich von der PostgreSQL-Treiberbibliothek. Diese Treiberbibliothek besteht je nach Betriebssystem aus Bibliothekdateien mit der Erweiterung .so .dll oder .dylib. Normalerweise können Sie SQLDB Code einer höheren Programmierebene verwenden, die es Ihnen erlaubt schneller zu programmieren und einfacher Datenbanken zu wechseln usw.\
7878
7979Mit diesem Beispiel ist es sehr einfach, alles was Sie tun müssen, ist das kompilieren einiger Units und diese Units können Sie dann in Ihrem Programm verwenden. Sie müssen diese Units Anstelle der PostgreSQL-Client-Bibliothek (libpq) bei der Erstellung Ihres Programms angeben.\
8080
8181Die Haupt-Unit heisst postgres, normalerweise ist dies die einzige Unit, die Sie in Ihrem uses Abschnitt einfügen müssen.\
8282
8383==Anforderungen== Sie benötigen mindestens Free Pascal in der Version 0.99.5. Die Header müssen mindestens von PostgreSQL Version 6.3.1 sein.\
8484
8585==Installation== Die Postgres Unit wird mit den Free Pascal packages geliefert (/usr/share/fpcsrc/\[Versionsnummer\]/packages/postgres). Das Package enthält ein Verzeichnis postgres mit den Units, ein Testprogramm und eine Datei Makefile.\
8686Wechsle in das Verzeichnis und editiere die Datei makefile. In der Datei Makefile werden die Variablen für Ihr Betriebsystem gesetzt. Sie müssen nur eine Sache in die Datei Makefile einfügen:\
87-Das Verzeichnis, in dem sich die libpq Bibliotheken befinden. Möglicherweise sind diese im Verzeichnis /usr/local/pgsql/lib geben Sie jetzt\
88-make ein. Dies sollte zum kompillieren der units und des Programms führen. Nach einer erfolgreichen Kompillation können Sie das Ergebnis mit\
89-make install installieren. (Denken Sie daran das Verzeichnis mit den installierten Units zu setzen.)\
87+
88+```text
89+ Das Verzeichnis, in dem sich die libpq Bibliotheken befinden. Möglicherweise sind diese im Verzeichnis /usr/local/pgsql/lib
90+```
91+
92+geben Sie jetzt\
93+
94+```text
95+ make
96+```
97+
98+ein. Dies sollte zum kompillieren der units und des Programms führen. Nach einer erfolgreichen Kompillation können Sie das Ergebnis mit\
99+
100+```text
101+ make install
102+```
103+
104+installieren. (Denken Sie daran das Verzeichnis mit den installierten Units zu setzen.)\
90105Jetzt können Sie das Testprogramm ausführen:\
91-make test Sie werden eine viele Meldungen die Ihnen Rückmeldungen und Ergebnisse auf Ihrem Bildschirm sehen. Wenn etwas schief läuft wird das Programm make Sie darüber informieren.\
106+
107+```text
108+ make test
109+```
110+
111+Sie werden eine viele Meldungen die Ihnen Rückmeldungen und Ergebnisse auf Ihrem Bildschirm sehen. Wenn etwas schief läuft wird das Programm make Sie darüber informieren.\
92112
93113# Siehe auch
94114
95115- [[Lazarus DB Faq/de|Lazarus DB Faq]] - More about database programming
96116
97117---
98118*From the Free Pascal wiki, page "postgres/de", as it stood on 2020-02-23 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history