我们有基于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时刻 –