LXXXI. Funciones de PostgreSQL
Postgres, desarrollado originalmente en el UC Berkeley Computer Science
Department, ha sido pionero en muchos de los conceptos relacionales/orientados
a objeto que ahora están empezando a estar disponibles en algunas bases de datos
comperciales. Tiene soporte de lenguaje SQL92/SQL3, integridad transaccional,
y extensibilidad de tipos. PostgreSQL es un descendiente de dominio público, más concretamente
open source, del código original de Berkeley.
PostgreSQL se encuentra disponible sin coste alguno. La versión actual la tienes a tu
disposición en www.PostgreSQL.org.
Desde la versión 6.3 (02/03/1998) PostgreSQL usa sockets tipo Unix. Abajo se da
una tabla con las diferentes posibilidades. El socket se encuentra en el ficheero
/tmp/.s.PGSQL.5432. Esta opción se controla mediante
el flag '-i' del postmaster y cuando se incluye significa
"escuchar sockets TCP/IP además de los de dominio Unix" ya que si no se le dice
nada solo escucha sockets tipo Unix.
Tabla 1. Postmaster y PHP
| Postmaster | PHP | Estado |
|---|
| postmaster & | pg_connect("", "", "", "", "dbname"); | OK |
| postmaster -i & | pg_connect("", "", "", "", "dbname"); | OK |
| postmaster & | pg_connect("localhost", "", "", "", "dbname"); |
Unable to connect to PostgreSQL server: connectDB() failed:
Is the postmaster running and accepting TCP/IP (with -i)
connection at 'localhost' on port '5432'? in
/path/to/file.php3 on line 20.
(Imposible conectar al servidor PostgreSQL, la llamada connectDB() ha fallado:
¿Está funcionando el postmaster aceptando conextiones TCP/IP (con -i)
en 'localhost' en el puerto '5432'? en /path/to/file.php3 en linea 20.
|
| postmaster -i & | pg_connect("localhost", "", "", "", "dbname"); | OK |
Uno puede establecer una conexión con el siguiente comando:
Para usar el interface de objetos grandes (large object o lo), es necesario
encapsularlo en un bloque de transacción. Un bloque de transacción
empieza con un begin y si la transacción fue
valida termina con commit y end. Si la
transacción falla debe ser cerrada con
abort y rollback.
Ejemplo 1. Usando Objetos Grandes (lo) <?php
$database = pg_Connect ("", "", "", "", "jacarta");
pg_exec ($database, "begin");
$oid = pg_locreate ($database);
echo ("$oid\n");
$handle = pg_loopen ($database, $oid, "w");
echo ("$handle\n");
pg_lowrite ($handle, "gaga");
pg_loclose ($handle);
pg_exec ($database, "commit")
pg_exec ($database, "end")
?> |
|