Erstens: Meine einzige Erfahrung mit SQL ist SQLite, die eine serverlose Engine ist. Ich bin neu in dieser ganzen Client/Server Geschichte.Verbinden Sie die Clients mit dem portablen PosgreSQL-Server
Zusammenfassung meines Ziels: Ich muss lesen/schreiben von/in eine PosgreSQL-Datenbank von verschiedenen Computern. Diese Computer (alle mit Windows 7 oder 10) teilen sich das gleiche Netzwerk, aber ich kann keine Software auf ihnen installieren.
Meine Idee war, den portablen PostgreSQL-Server herunterzuladen und in einem freigegebenen Netzwerkverzeichnis zu speichern (z. B. Y: \ PortableProject), so dass alle Computer Zugriff auf die ausführbaren Dateien und den Datenordner mit den Datenbanken haben. Angenommen, die Netzwerk-IP ist 192.170.1.200 (von ipconfig
Befehl), hier sind die Schritte, die ich versuchte, so weit zu tun:
Um IP 192.170.1.200 ist ein Host, offene
pg_hba.conf
Datei zu ermöglichen, und fügen Sie die folgende Zeile in der EOFhost all all 192.170.1.200/32 trust
um alle Computer die Erlaubnis geben, den Server, öffnen
Zugriff 10postgresql.conf
und aktualisierenlisten_addresses
-*
Öffnen Sie die Eingabeaufforderung in einem Computer (z. Computer A) und starten Sie den Server von einer Eingabeaufforderung mit dem folgenden Befehl:
"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\pg_ctl.exe" start -D "Y:\PortableProject\PostgreSQLPortable\Data\data"
mit dem Schreiben gehen und in allen Computern lesen. ZB auf Computer B, öffnen Sie dessen Befehl prompt und alle Informationen auf dem Tisch
tabtest
aus der Datenbank gelesendbtest
(vorausgesetzt sie existieren) mit dem Befehl:"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\psql.exe" -h 192.170.1.200 -p 5432 -U postgres -d dbtest -c "SELECT * FROM tabtest"
die Verbindung auf Computer A Close:
"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\pg_ctl.exe" stop -D "Y:\PortableProject\PostgreSQLPortable\Data\data"
Das Problem auf Schritt tritt 4. Selbst wenn ich es von Computer A laufen lasse, erhalte ich folgende Fehlermeldung
psql: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "192.170.1.200" and accepting
TCP/IP connections on port 5432?
Mache ich es völlig falsch? Ist es überhaupt möglich, mein Ziel zu erreichen?
weiß nicht, warum Sie tragbare postgre stattdessen reguläre verwenden. Ihr Problem ist die db von verschiedenen PC gelesen und regelmäßig tun Sie das sehr gut und Sie müssen nicht installieren sw auf diesen PC. Portable ist für, wenn Sie Ihre db außerhalb des Büros nehmen müssen. –
Tut mir leid, aber ich weiß wirklich nicht, wie ich vorgehen soll, indem ich Ihrem Vorschlag folge. Wie kann ich von einer Postgre-Datenbank ohne Installation und ohne portable Postgres lesen? Ich muss auch von allen Computern im Netzwerk einfügen und aktualisieren. –
Vielleicht verstehe ich Ihr Problem nicht. Aber wenn Sie nichts installieren möchten, entwickeln Sie eine Web-App. –