我們有基於LAN的.Net應用程序和Postgresql 8.1,現在我有任務提供網站上的接口讀寫兩個基於局域網的數據庫表我不知道在哪裏開始請幫我解決這個問題。如何從我的網站訪問我的基於網絡的postgresql數據庫
蘭:Windows NT的2003 淨 PostgreSQL的8.1
網站: PHP 5.3 Mysql的
我們有基於LAN的.Net應用程序和Postgresql 8.1,現在我有任務提供網站上的接口讀寫兩個基於局域網的數據庫表我不知道在哪裏開始請幫我解決這個問題。如何從我的網站訪問我的基於網絡的postgresql數據庫
蘭:Windows NT的2003 淨 PostgreSQL的8.1
網站: PHP 5.3 Mysql的
您需要啓用Postgres的遠程連接。但要小心安全隱患。
還沒有看完,但this應該給你一個關於在服務器上採取的步驟的想法。對於連接器,通常只需要在遠程IP處指定連接功能即可。
這是如何去做的。從here複製:在上面的代碼
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Could not connect: ' . pg_last_error());
// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Free resultset
pg_free_result($result);
// Closing connection
pg_close($dbconn);
?>
,通過你的Postgres主機的IP地址替換本地主機。
在Linux上,需要修改兩個文件以允許除本地主機以外的其他連接: postgresql.conf,更改listen_addresses =「*」以接受來自任何地方的連接。然後在pg_hba.conf文件中添加一行以允許從特定IP或網絡訪問數據庫。如果你不擔心安全問題,進入:
主機的所有所有192.168.1.0/24信任
將允許在192.168.1.0/24網絡訪問任何數據庫的任何人。顯然這應該只用於測試你可以到達數據庫。將其限制爲Web服務器的IP地址,並使用md5加密密碼認證。
@MarcB如何使鏈接更具體到手頭的問題是? –
您還應該考慮儘快升級到支持的PostgreSQL版本。 8.1絕對是死的。 8.2是仍然保留的最老的版本,但將在今年年底下降。此外,此後還有主要的性能改進。我強烈建議直接進行9.1 –
如果您已經投入生產,我會堅持9.1直到它已經停用6個月左右。 9.0已經出來一年多了,穩定穩定。在9.1中,偶爾還會出現wtf時刻 –