1
0
mirror of https://github.com/php/doc-es.git synced 2026-04-23 15:18:07 +02:00
Files
archived-doc-es/reference/pgsql/reference.xml
T
Leonardo Boshell f950656271 - Actualizaciones
- Algunos archivos de reference/iconv
- Adopcion de archivos en translation.xml


git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@167206 c90b9560-bf6c-de11-be94-00142212c4b1
2004-08-24 23:09:31 +00:00

369 lines
12 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.10 $ -->
<!-- EN-Revision: 1.21 Maintainer: lboshell Status: ready -->
<reference id="ref.pgsql">
<title>Funciones PostgreSQL</title>
<titleabbrev>PostgreSQL</titleabbrev>
<partintro>
<section id="pgsql.intro">
&reftitle.intro;
<para>
La base de datos PostrgeSQL es un producto Open Source y
disponible sin costo. Postgres, desarrollado originalmente en el
Deportamento de Ciencias de Computaci&oacute;n de UC Berkeley,
fue pionero en muchos de los conceptos de objetos y relacionales
que ahora est&aacute;n apareciendo en algunas bases de datos
comerciales. Provee soporte para lenguajes SQL92/SQL99,
transacciones, integridad referencial, procedimientos almacenados
y extensibilidad de tipos. PostgreSQL es un descendiente de
c&oacute;digo abierto de su c&oacute;digo original de Berkeley.
</para>
</section>
<section id="pgsql.requirements">
&reftitle.required;
<para>
Para hacer uso del soporte PostgreSQL, necesita PostgreSQL 6.5 o
posterior, PostgreSQL 7.0 o posterior para habilitar todas las
caracter&iacute;sticas del m&oacute;dulo. PostgreSQL soporta
varias codificaciones de caracteres, incluyendo
codificaci&oacute;n de caracteres multibyte. Su versi&oacute;n
actual, asi como m&aacute;s informaci&oacute;n sobre PostgreSQL
se encuentra disponible en <ulink
url="&url.pgsql;">&url.pgsql;</ulink> y
<ulink url="&url.pgsql.techdocs;">&url.pgsql.techdocs;</ulink>.
</para>
</section>
&reference.pgsql.configure;
&reference.pgsql.ini;
<section id="pgsql.using">
<title>Modo de uso y consejos</title>
<warning>
<para>
El uso del m&oacute;dulo PostgreSQL con PHP 4.0.6 no se
recomienda debido a un fallo en el c&oacute;digo de
gesti&oacute;n de mensajes tipo noticia. Use la versi&oacute;n
4.1.0 o posterior.
</para>
</warning>
<warning>
<para>
Los nombres de funciones PostgreSQL ser&aacute;n modificados en
el lanzamiento 4.2.0 para adoptar los est&aacute;ndares de
c&oacute;digo actuales. La mayor&iacute;a de nombres nuevos
tendr&aacute;n signos de subrayado adicionales,
p.ej. pg_lo_open(). Algunas funciones son renombradas a nuevos
nombres por razones de consistencia, p.ej. pg_exec() a
pg_query(). Los nombres antiguos pueden ser usados en 4.2.0 y
algunas versiones subsiguientes, pero pueden ser eliminados en
el futuro.
</para>
<table>
<title>Nombres de funci&oacute;n modificados</title>
<tgroup cols="2">
<thead>
<row>
<entry>Nombre antiguo</entry>
<entry>Nombre nuevo</entry>
</row>
</thead>
<tbody>
<row>
<entry><function>pg_cmdtuples</function></entry>
<entry><function>pg_affected_rows</function></entry>
</row>
<row>
<entry><function>pg_errormessage</function></entry>
<entry><function>pg_last_error</function></entry>
</row>
<row>
<entry><function>pg_exec</function></entry>
<entry><function>pg_query</function></entry>
</row>
<row>
<entry><function>pg_fieldname</function></entry>
<entry><function>pg_field_name</function></entry>
</row>
<row>
<entry><function>pg_fieldsize</function></entry>
<entry><function>pg_field_size</function></entry>
</row>
<row>
<entry><function>pg_fieldnum</function></entry>
<entry><function>pg_field_num</function></entry>
</row>
<row>
<entry><function>pg_fieldprtlen</function></entry>
<entry><function>pg_field_prtlen</function></entry>
</row>
<row>
<entry><function>pg_fieldisnull</function></entry>
<entry><function>pg_field_is_null</function></entry>
</row>
<row>
<entry><function>pg_freeresult</function></entry>
<entry><function>pg_free_result</function></entry>
</row>
<row>
<entry><function>pg_getlastoid</function></entry>
<entry><function>pg_last_oid</function></entry>
</row>
<row>
<entry><function>pg_loreadall</function></entry>
<entry><function>pg_lo_read_all</function></entry>
</row>
<row>
<entry><function>pg_locreate</function></entry>
<entry><function>pg_lo_create</function></entry>
</row>
<row>
<entry><function>pg_lounlink</function></entry>
<entry><function>pg_lo_unlink</function></entry>
</row>
<row>
<entry><function>pg_loopen</function></entry>
<entry><function>pg_lo_open</function></entry>
</row>
<row>
<entry><function>pg_loclose</function></entry>
<entry><function>pg_lo_close</function></entry>
</row>
<row>
<entry><function>pg_loread</function></entry>
<entry><function>pg_lo_read</function></entry>
</row>
<row>
<entry><function>pg_lowrite</function></entry>
<entry><function>pg_lo_write</function></entry>
</row>
<row>
<entry><function>pg_loimport</function></entry>
<entry><function>pg_lo_import</function></entry>
</row>
<row>
<entry><function>pg_loexport</function></entry>
<entry><function>pg_lo_export</function></entry>
</row>
<row>
<entry><function>pg_numrows</function></entry>
<entry><function>pg_num_rows</function></entry>
</row>
<row>
<entry><function>pg_numfields</function></entry>
<entry><function>pg_num_fields</function></entry>
</row>
<row>
<entry><function>pg_result</function></entry>
<entry><function>pg_fetch_result</function></entry>
</row>
</tbody>
</tgroup>
</table>
<para>
La vieja
sintaxis <function>pg_connect</function>/<function>pg_pconnect</function>
ser&aacute; marcada como obsoleta para dar soporte a conexiones
asincr&oacute;nicas en el futuro. Por favor use una cadena de
conexi&oacute;n para <function>pg_connect</function>
y <function>pg_pconnect</function>.
</para>
</warning>
<para>
No todas las funciones son soportadas en todas las
instalaciones. Depende de su versi&oacute;n de libpq (la interfaz
C de Cliente PostrgeSQL) y de c&oacute;mo fue compilado libpq. Si
hace falta alguna funci&oacute;n, libpq no soporta la
caracter&iacute;stica requerida para la funci&oacute;n.
</para>
<para>
Tambi&eacute;n es importante que no use una versi&oacute;n de
libpq m&aacute;s antigua que la del Servidor PostgreSQL al que se
conectar&aacute;. Si usa una versi&oacute;n de libpq m&aacute;s
antigua que la que el Servidor PostgreSQL espera, puede tener
problemas.
</para>
<para>
A partir de la versi&oacute;n 6.3 (03/02/1998) PostgreSQL usa
sockets de dominio unix por defecto. El puerto TCP NO ser&aacute;
abierto por defecto. A continuaci&oacute;n se presenta una tabla
que describe estas posibilidades de conexi&oacute;n nuevas. Este
socket se encontrar&aacute;
en <filename>/tmp/.s.PGSQL.5432</filename>. Esta opci&oacute;n
puede habilitarse con la bandera '-i'
a <command>postmaster</command> y su significado es: "escuche en
sockets TCP/IP asi como en sockets de dominio Unix".
<table>
<title>Postmaster y PHP</title>
<tgroup cols="3">
<thead>
<row>
<entry>Postmaster</entry>
<entry>PHP</entry>
<entry>Status</entry>
</row>
</thead>
<tbody>
<row>
<entry>postmaster &amp;</entry>
<entry>pg_connect("dbname=NombreDeMiBD");</entry>
<entry>OK</entry>
</row>
<row>
<entry>postmaster -i &amp;</entry>
<entry>pg_connect("dbname=NombreDeMiBD");</entry>
<entry>OK</entry>
</row>
<row>
<entry>postmaster &amp;</entry>
<entry>pg_connect("host=localhost dbname=NombreDeMiBD");</entry>
<entry>
No fue posible conectarse con el servidor PostgreSQL:
connectDB() fall&oacute;: &iquest;Est&aacute; corriendo
postmaster y acepta conexiones TCP/IP (con -i) en 'localhost'
en el puerto '5432'? en /ruta/hacia/archivo.php en la
l&iacute;nea 20.
</entry>
</row>
<row>
<entry>postmaster -i &amp;</entry>
<entry>pg_connect("host=localhost dbname=NombreDeMiBD");</entry>
<entry>OK</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Puede establecerse una conexi&oacute;n con el servidor PostgreSQL
con el siguiente juego de pares de valores en la cadena de
comando:
<command>$con = pg_connect("host=miHost port=miPuerto tty=miTTY
options=misOpciones dbname=miBD user=miUsuario
password=miContrasenya ");</command>
</para>
<para>
La sintaxis previa de:
<command>
$conn = pg_connect ("host", "port", "options", "tty", "dbname")
</command>
ha sido marcada como obsoleta.
</para>
<para>
Las variables de entorno afectan el comportamiente de
servidor/cliente de PostgreSQL. Por ejemplo, el m&oacute;dulo
PostgreSQL buscar&aacute; la variable de entorno PGHOSN cuando el
nombre de host sea omitido en la cadena de conexi&oacute;n. Las
variables de entorno soportadas son diferentes entre
versi&oacute;n y versi&oacute;n. Refi&eacute;rase el Manual de
Programador de PostgreSQL (libpq - Variables de Entorno) para
m&aacute;s detalles.
</para>
<para>
Aseg&uacute;rese de establecer las variables de entorno para el
usuario apropiado. Use <literal>$_ENV</literal>
o <function>getenv</function> para chequear cu&aacute;les
variables de entorno est&aacute;n disponibles en el proceso
actual.
</para>
<example>
<title>Definici&oacute;n de par&aacute;metros
predeterminados</title>
<programlisting>
<![CDATA[
PGHOST=pgsql.example.com
PGPORT=7890
PGDATABASE=sistema-web
PGUSER=usuario-web
PGPASSWORD=secreto
PGDATESTYLE=ISO
PGTZ=JST
PGCLIENTENCODING=EUC-JP
export PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD PGDATESTYLE PGTZ PGCLIENTENCODING
]]>
</programlisting>
</example>
<note>
<para>
PostgreSQL convierte autom&aacute;ticamente todos los
identificadores (p.ej. nombres de tablas/columnas) a valores en
min&uacute;sculas. Para lograr que reconozca valores en
may&uacute;sculas, debe rodear siempre el identificador entre
comillas.
</para>
</note>
</section>
&reference.pgsql.constants;
<section id="pgsql.examples">
&reftitle.examples;
<para>
A partir de PostgreSQL 7.1.0, puede almacenar hasta 1GB en un
campo de tipo texto. En versiones anteriores, &eacute;ste se
encontraba limitado al tama&ntilde;o de bloque (por defecto 8KB,
el m&aacute;ximo era 32KB, definido en tiempo de
compilaci&oacute;n)
</para>
<para>
Para usar la interfaz de objetos grandes (lo), es necesario
ubicar las funciones de objetos grandes en el interior de un
bloque de transacci&oacute;n. Un bloque de transacci&oacute;n
comienza con una sentencia SQL <command>BEGIN</command> y, si la
transacci&oacute;n fue v&aacute;lida, termina
con <command>COMMIT</command> o <command>END</command>. Si la
transacci&oacute;n falla, &eacute;sta debe ser cerrada
con <command>ROLLBACK</command> o
<command>ABORT</command>.
<example>
<title>Uso de Objetos Grandes</title>
<programlisting role="php">
<![CDATA[
<?php
$base_de_datos = pg_connect("dbname=jacarta");
pg_query($base_de_datos, "begin");
$oid = pg_lo_create($base_de_datos);
echo "$oid\n";
$gestor = pg_lo_open($base_de_datos, $oid, "w");
echo "$gestor\n";
pg_lo_write($gestor, "datos de objeto grande");
pg_lo_close($gestor);
pg_query($base_de_datos, "commit");
?>
]]>
</programlisting>
</example>
Usted no debe cerrar la conexi&oacute;n con el servidor PostgreSQL
antes de cerrar el objeto grande.
</para>
</section>
</partintro>
&reference.pgsql.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->