まず、SQLを使った私の唯一の経験はサーバレスエンジンであるSQLiteです。私はこのクライアント/サーバーのすべての話では新しいです。携帯型PosgreSQLサーバにクライアントを接続
私の目標をまとめる:私は異なるコンピュータからPosgreSQLデータベースを読み書きする必要があります。これらのコンピュータ(Windows 7またはWindows 10がインストールされているすべて)は同じネットワークを共有していますが、ソフトウェアをインストールすることはできません。
私は、ポータブルPostgreSQLサーバをダウンロードしてネットワーク共有ディレクトリ(例:Y:\ PortableProject)に保存し、すべてのコンピュータが実行可能ファイルとデータベースを含むデータフォルダにアクセスできるようにしました。私がこれまでに実行しようとしました手順があり、ここで、IPは(ipconfig
コマンドから)192.170.1.200であるネットワークを仮定します
、IP 192.170.1.200がホストされてオープン
pg_hba.conf
ファイルを許可し、追加するにはpostgresql.conf
オープン、サーバーにアクセスするすべてのコンピュータに権限を与え、listen_addresses
*
にを更新するためにEOFでラインhost all all 192.170.1.200/32 trust
次10
1台のコンピュータでコマンドプロンプトを開きます(例:コンピュータA)と、下記のコマンドを使用してプロンプトからサーバーを起動します。
"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\pg_ctl.exe" start -D "Y:\PortableProject\PostgreSQLPortable\Data\data"
が書き込みを続行し、すべてのコンピュータに読み込みます。例えば、コンピュータBに、そのプロンプトコマンドを開き、コマンドと(それらが存在すると仮定)データベース
dbtest
からテーブルtabtest
に関するすべての情報を読み取る:"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\pg_ctl.exe" stop -D "Y:\PortableProject\PostgreSQLPortable\Data\data"
:
は、コンピュータAに接続を閉じます
"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\psql.exe" -h 192.170.1.200 -p 5432 -U postgres -d dbtest -c "SELECT * FROM tabtest"
問題は、私はコンピュータAからそれを実行した場合でも、私は次のエラー
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?
を取得し、ステップ4で発生します
私はそれを完全に間違っているのですか?私の目標に達することさえ可能ですか?
いけない知っています。あなたの問題は、別のPCから定期的に1つの非常に良いことを行うと、それらのPCにswをインストールする必要はありませんが読み取られます。ポータブルは、あなたがオフィスの場所の外にあなたのデータベースを取る必要があるときです。 –
申し訳ありませんが、あなたの提案に従って進める方法は本当に分かりません。ポストグラムデータベースから読み込みはできますが、ポータブルポストグルを使用しないで読むことができますか?また、ネットワーク内のすべてのコンピュータから挿入して更新する必要があります。 –
多分私はあなたの問題を理解していません。しかし、何もインストールしたくない場合は、Webアプリケーションを開発してください。 –