首先:我唯一的SQL體驗是SQLite,它是一個無服務器引擎。我是所有這個客戶/服務器故事的新手。將客戶端連接到便攜式PosgreSQL服務器
總結我的目標:我需要從不同的計算機讀寫PosgreSQL數據庫。這些計算機(都安裝了Windows 7或10)共享相同的網絡,但我無法在其上安裝任何軟件。
我的想法是下載便攜式PostgreSQL服務器並將其保存在網絡共享目錄(例如Y:\ PortableProject)中,以便所有計算機都可以訪問可執行文件和包含數據庫的Data文件夾。假設網絡的IP是192.170.1.200(從ipconfig
命令),這裏是我試過的步驟,到目前爲止做:
爲了讓IP 192.170.1.200是一臺主機,開放
pg_hba.conf
文件,並添加下面一行在EOFhost all all 192.170.1.200/32 trust
爲了給權限的所有計算機訪問服務器,開放
postgresql.conf
和更新listen_addresses
到*
listen_addresses = '*'
在一臺計算機中打開命令提示符(例如,計算機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\psql.exe" -h 192.170.1.200 -p 5432 -U postgres -d dbtest -c "SELECT * FROM tabtest"
關閉在計算機A上的連接:
"Y:\PortableProject\PostgreSQLPortable\App\PgSQL\bin\pg_ctl.exe" stop -D "Y:\PortableProject\PostgreSQLPortable\Data\data"
出現該問題上的步驟4.即使我從計算機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?
我是否完全錯了?是否有可能實現我的目標?
不知道爲什麼你使用便攜式postgre而不是常規的。你的問題是從不同的PC讀取數據庫,普通的數據庫很好,你不需要在這些PC上安裝SW。便攜式適用於需要將辦公地點放在辦公室外的地方。 –
對不起,但我真的不知道如何繼續按照你的建議。我如何從postgre數據庫讀取數據,而不需要安裝並且沒有可移植的postgres?我還需要從網絡中的所有計算機插入和更新。 –
也許我不明白你的問題。但是,如果你不想安裝任何東西開發一個Web應用程序。 –