LXXXIII_ 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")
?> |
|