Witam.

W sieci firmowej mam dwa serwery: na jednym jest linux z uruchomioną bazą postgresql, a na drugim również linux z różnymi skryptami php.
Próbuję połączyć się z tego drugiego serwera z bazą postgresql, aby pobrać pewne dane do dalszej obróbki:
  1. $pgsql = pg_connect("host=$host port=5432 dbname=$database user=$db_user password=$db_pass") or die('Could not connect: ' . pg_last_error());

ale ciągle otrzymuję ten sam błąd:
Warning: pg_connect(): PostgreSQL is not a open service. in /volume1/web/Joomla_1.5/connection/connection.php on line 37 Warning: pg_last_error(): No PostgreSQL link opened yet in /volume1/web/Joomla_1.5/connection/connection.php on line 37 Could not connect

Co ciekawe na innym komputerze z systemem WinXP w tej samej sieci, mam zainstalowanego pgAdmin III 1.4, który przy tych samych ustawieniach łączy się z bazą postgresql bez najmniejszych problemów.
Czy ktoś może spotkał się z takim problemem, lub wie jak zestawić w skrypcie poprawne połączenie ?.

Cytat(hettmix @ 10.01.2013, 19:13:30 ) *
Witam.

W sieci firmowej mam dwa serwery: na jednym jest linux z uruchomioną bazą postgresql, a na drugim również linux z różnymi skryptami php.
Próbuję połączyć się z tego drugiego serwera z bazą postgresql, aby pobrać pewne dane do dalszej obróbki:
  1. $pgsql = pg_connect("host=$host port=5432 dbname=$database user=$db_user password=$db_pass") or die('Could not connect: ' . pg_last_error());

ale ciągle otrzymuję ten sam błąd:
Warning: pg_connect(): PostgreSQL is not a open service. in /volume1/web/Joomla_1.5/connection/connection.php on line 37 Warning: pg_last_error(): No PostgreSQL link opened yet in /volume1/web/Joomla_1.5/connection/connection.php on line 37 Could not connect

Co ciekawe na innym komputerze z systemem WinXP w tej samej sieci, mam zainstalowanego pgAdmin III 1.4, który przy tych samych ustawieniach łączy się z bazą postgresql bez najmniejszych problemów.
Czy ktoś może spotkał się z takim problemem, lub wie jak zestawić w skrypcie poprawne połączenie ?.


OK - rozwiązałem problem wykorzystując do połączenia z bazą postgres funkcje PDO (PHP Data Objects):
  1. <?php
  2.  
  3. try{
  4. $db = new PDO('pgsql:host=174.225.12.13;dbname=traficccc', 'postgres', 'acccccc');
  5. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6. $db->exec("SET CLIENT_ENCODING TO 'UTF8'");
  7. }
  8. catch (PDOException $e)
  9. {
  10. print "Błąd połączenia z bazą!: " . $e->getMessage() . "<br/>";
  11. die();
  12. }
  13.  
  14. try {
  15.  
  16. $sql = $db->query( 'SELECT * FROM sprawy' );
  17. while( $row = $sql->fetch( PDO::FETCH_ASSOC ) ) {
  18. echo $row[ 'email' ];
  19. echo "<br />";
  20. }
  21. }
  22. catch( PDOException $e ) {
  23. // ...
  24. }
  25.  
  26. ?>

Może się komuś przyda - pozdrawiam...