Seite 1 von 1

Tools für PostgreSQL

Verfasst: Mo, 11. Dez 2017 18:35
von HaPe
Hallo Zusammen !

Ich mache meine ersten Versuche mit PostgreSQL 10.1 (edb-Installer).

Welche nützlichen und am besten kostenfreie Tools verwendet ihr dafür?
pgAdmin4 habe ich schon installiert, wobei man dieses Tool nicht mit dem Microsoft SQL Server Management Studio vergleichen kann :oops:

Re: Tools für PostgreSQL

Verfasst: Di, 12. Dez 2017 1:17
von Werner_Bayern
HaPe hat geschrieben:
Mo, 11. Dez 2017 18:35
pgAdmin4 habe ich schon installiert, wobei man dieses Tool nicht mit dem Microsoft SQL Server Management Studio vergleichen kann :oops:
Servus HaPe,

was fehlt Dir?

Re: Tools für PostgreSQL

Verfasst: Di, 12. Dez 2017 10:46
von HaPe
Hallo Werner !
was fehlt Dir?
Der SQL-Profiler.

Gefunden habe ich das:
https://www.enterprisedb.com/products/e ... managerpem

und das:
https://stackoverflow.com/questions/243 ... r-profiler

Das ist noch nicht ganz das was ich beim SMS von $MS habe :oops:

Re: Tools für PostgreSQL

Verfasst: Di, 12. Dez 2017 11:47
von andreas
Guck dir die Befehle EXPLAIN bzw. EXPLAIN ANALYZE an. diese können direkt im PgAdmin gefolgt von dem SQL-Befehl ausgeführt werden.

Re: Tools für PostgreSQL

Verfasst: Di, 12. Dez 2017 11:49
von andreas
Ich würde dir auch ein Buch von OReily empfehlen:
"postgreSQlAdministration", ISBN 978-3-86899-361-5.

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 14:02
von HaPe
Hallo Andreas und Werner !

@Andreas: Danke für die Infos.

@Werner: Eines der wichtigsten Werkezeuge bei $MS-SQL-Server ist der Profiler: Dieser dient hauptsächlich dazu, die von meinen SQL-Klassen erstellten SELECT-Befehle zu sehen und vor allem Exceptions zu erkennen. Das hilft ungemein.

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 16:01
von HaPe
Ich habe zum prüfen von fehlgeschlagenen SELECTs jetzt folgendes eingestellt:
In der postgresql.conf folgende Einstellungen gemacht.
log_statement = 'mod'
log_min_messages = debug2
Dann gibt es eine postgresql-YYYY-MM-DD_TIME.log in der bei einem Fehler im SELECT folgendes kommt (Zeitinfo weggelassen):
FEHLER: Spalte »lapt_qucotx« existiert nicht bei Zeichen 32
TIPP: Vielleicht wurde beabsichtigt, auf die Spalte »apt.apt_qucotx« zu verweisen.
ANWEISUNG: SELECT apt_tasnam, CAST( MLINE(lapt_qucotx,20) AS CHARACTER(250) ) AS APT_QUCOTX FROM apt ORDER BY APT_TasNam

Ich nicht toll aber besser wie nichts :doubt:

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 16:10
von andreas
das mit dem Loggen der SQL-Befehle wäre mein nächster Vorschlag, du hast es aber wohl schon herausgefunden! :D

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 16:12
von andreas
Du kannst allerdings die Servereinstellungen bequemer über PgAdmin bearbeiten. Danach musst du nicht vergessen, dem Server zu sagen, dass er diese neu laden muss bzw. den Server neu starten.

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 18:55
von AUGE_OHR
hm ... erstellt er nicht immer unter

Code: Alles auswählen

   x:\Program Files\PostgreSQL\xx.x\data\pg_log\             // xx.x = Version
ein Logfile :?:

Re: Tools für PostgreSQL

Verfasst: Do, 14. Dez 2017 23:41
von Werner_Bayern
HaPe hat geschrieben:
Do, 14. Dez 2017 14:02
@Werner: Eines der wichtigsten Werkezeuge bei $MS-SQL-Server ist der Profiler: Dieser dient hauptsächlich dazu, die von meinen SQL-Klassen erstellten SELECT-Befehle zu sehen und vor allem Exceptions zu erkennen. Das hilft ungemein.
Das aktuelle PGAdmin 4 2.0 hilft hier schon etwas:
test.PNG
test.PNG (215.75 KiB) 1850 mal betrachtet

Re: Tools für PostgreSQL

Verfasst: Fr, 15. Dez 2017 10:43
von HaPe
Danke Werner.

Eine Frage habe ich bezüglich 32-Bit und 64-Bit-Version des PostgreSQL-Servers.
Ich habe auf meinem Entwicklungs-PC sowohl die 32-Bit wie die 64-Bit-ODBC-Treiber aus psqlodbc_10_00_0000.zip installiert.
Der PostgreSQL-Server 32-Bit und 64-Bit läuft auf einem Windows 10 der unter VMware auf meinem Entwicklungs-PC läuft.
Die Verbindung zum SQL-Server läuft über TCP/IP mit IP-Adresse und Port-Nummer.
Es sollte doch möglich sein über den 32-Treiber sich mit der IP-Adresse und Port-Nummer des 64-Bit-SQL-Servers zu verbinden.
Leider ist mir das nicht gelungen.
Hat mir da jemand einen Tipp was das Problem ist oder geht das grundsätzlich nicht :oops:

Mit dem 64-Bit-Treiber geht es von einer 32-Bit-Anwendung aus natürlich nicht.

Der $MS-SQL-Server 2017 hat einen kombinierten 32/64-Bit-Treiber wo man sich von einer 32-Bit-Applikation mit einem 64-Bit-SQL-Server verbinden kann ...

Re: Tools für PostgreSQL

Verfasst: Fr, 15. Dez 2017 13:51
von Werner_Bayern
Servus Hape,

bitte.

Warum gehst Du über ODBC und nicht über die PGDBE? Ich machs über die PGDBE und dacsession, da ist es egal, ob der Server 32 oder 64bittig ist.

Re: Tools für PostgreSQL

Verfasst: Fr, 15. Dez 2017 14:38
von HaPe
Hallo Werner !
Warum gehst Du über ODBC und nicht über die PGDBE?
Da man die PGDBE in VFP sowieso nicht nutzen kann und ich dort meine SELECTs schon immer selbst schreibe und mit Pass-Through arbeite.
Beim Umstellen von VFP nach Xbase++ kann ich die SELECTs genau so wieder verwenden.

Re: Tools für PostgreSQL

Verfasst: Fr, 15. Dez 2017 14:50
von HaPe
Das aktuelle PGAdmin 4 2.0
Ich habe jetzt etwas mit DBeaver gespielt. Das geht vom bedienen um Welten besser als pgAdmin 4.
Vor allem ist das Query-Fenster in dem man die SELECTs eingeben und testen kann immer vorhanden. 8)
PGAdmin 4 graut das "Query Tool" so oft aus und ist schleichend langsam :roll:

Und dieses Tool kann nicht nur PostgreSQL sondern auf andere DBs wie Excel, MySQL, MariaDB, SQLite Access, usw..
Dieses Tool gibts von hier:
https://dbeaver.jkiss.org/download/
und ist in der Community Edition kostenfrei und zum großen Teil sogar in deutsch.

Re: Tools für PostgreSQL

Verfasst: Mi, 03. Jan 2018 17:14
von HaPe
Hallo Zusammen !
Es sollte doch möglich sein über den 32-Treiber sich mit der IP-Adresse und Port-Nummer des 64-Bit-SQL-Servers zu verbinden.
Leider ist mir das nicht gelungen.
Ich stand mir selbst auf den Füßen. :(
Wenn in der pg_hba.conf der korrekte Eintrag für den zulässigen IP-Bereich vorhanden ist, dann klappts auch per ODBC sich von einer 32-Bit-Applikation mit dem 64-Bit PostgreSQL-Server zu verbinden.
# IPv4 local connections:
host all all 192.168.178.1/24 md5