우리는 LAN 기반 데이터베이스에서 두 테이블을 읽고 쓰는 인터페이스를 제공하기 위해 Postgresql 8.1과 함께 LAN 기반 .Net 응용 프로그램을 제공합니다. 시작이 문제를 해결할 수 있도록 도와주세요.내 웹 사이트에서 내 LAN 기반 postgresql db에 액세스하는 방법
란 : 윈도우 NT 2003 닷넷 PostgreSQL을 8.1
웹 사이트 : PHP 5.3 MySQL의
우리는 LAN 기반 데이터베이스에서 두 테이블을 읽고 쓰는 인터페이스를 제공하기 위해 Postgresql 8.1과 함께 LAN 기반 .Net 응용 프로그램을 제공합니다. 시작이 문제를 해결할 수 있도록 도와주세요.내 웹 사이트에서 내 LAN 기반 postgresql db에 액세스하는 방법
란 : 윈도우 NT 2003 닷넷 PostgreSQL을 8.1
웹 사이트 : PHP 5.3 MySQL의
당신은 포스트 그레스에 원격 연결을 활성화해야합니다. 그러나 보안 관련 사항에주의하십시오.
모두 읽지는 않았지만 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);
?>
을 위의 코드에서, 당신의 포스트 그레스 호스트의 IP 주소에 의해 로컬 호스트를 교체합니다.
Linux의 경우 localhost : postgresql.conf 이외의 연결을 허용하기 위해 두 파일을 수정해야하며 listen_addresses = "*"를 변경하여 어디서나 연결을 허용합니다. 그런 다음 특정 IP 또는 네트워크에서 데이터베이스에 액세스 할 수 있도록 pg_hba.conf 파일에 행을 추가하십시오. 보안, 진입에 대해 걱정하지 않은 경우 :
호스트는 모든 모든 192.168.1.0/24 신뢰
는 데이터베이스에 192.168.1.0/24 네트워크 액세스에 사람을 수 있습니다. 분명히 이것은 데이터베이스에 도달 할 수 있는지 테스트하는 데에만 사용해야합니다. 이것을 웹 서버 IP 주소로 제한하고 md5를 사용하여 암호화 된 비밀번호 인증이 사용됩니다.
@MarcB 예를 들어 문제의 링크를 좀 더 구체적으로 작성하는 방법은 무엇입니까? –
가능한 한 빨리 지원되는 PostgreSQL 버전으로 업그레이드하는 것도 고려해야합니다. 8.1은 확실히 죽었습니다. 8.2는 여전히 유지 관리되고 있지만 올해 말에 삭제 될 가장 오래된 버전입니다. 또한 그 이후로도 중요한 성능 향상이있었습니다. 나는 9.1을 위해 곧장 갈 것을 강력히 권고했다. –
만약 당신이 이미 프로덕션에 참여했다면 6 개월 정도 밖에 쉬지 않을 때까지 9.1을 연기 할 것이다. 9.0은 1 년이 넘었으며 안정적인 견고한 상태입니다. 9.1과 함께 목록에 가끔은 가끔씩의 순간이 있습니다. –