Version 6.4

Hay muchas prestaciones nuevas y mejoras en esta version. Gracias a unestros desarrolladores y mantenedores, casi todos los aspectos del sistema han recibido alguna atencion desde la version anterior. He aqui un resumen, sumario incompleto:

Migracion a v6.4

Se requiere un dump/restore utilizando pg_dump o pg_dumpall para aquellas que desen migrar datos desde cualquier version anterior de Postgres.

Lista Detallada de Cambios

Correciones de errores
---------
Correcion para una minuscula perdida en PQsetdb/PQfinish(Bryan)
Se elimina char2-16 de los tipos de datos, se utiliza char/varchar(Darren)
Pqfn no maneja un mensaje de NOTICE(Anders)
Reducidas elevadas esperas por ocupacion a causa de bloqueos en transacciones  con muchos procesos en servidor(backends) (dg)
Deteccion de bloqueos de transacciones atascadas (dg)
Correcion para masrcas de tiempo en estilo "ISO" en decodificacion y codificacion(Thomas)
Correccion del problema con borrado de tabla (drop) despues de deshacer (rollback) una transaccion(Vadin)
Cambiado mensaje de error y eliminado mensaje actualizado no funcional(Vadim)
Correccion para verificacion de la matriz (array) de COPY
Correccion para SELECT 1 UNION SELECT NULL
Correccion para perdidas de buffer en llamadas a objetos grandes(Pascal)
Cambio de propietario de tipo oid a int4(Bruce)
Correccion de error en la compatibilidad con oracle de las funciones btrim() ltrim() y rtrim()
Correccion de invalidacion en rebasamientos de cache compartida(Massimo)
Prevencion de perdidas en descriptores de ficheros en COPY's fallidos(Bruce)
Correccion para perdidas en la pg_select de libpgtcl(Constantin)
Correccion de problemas con usuario/contrasena de mas de 8 caracteres(Tom)
Correccion de problemas con manejo de NOTIFY asincronos en el proceso en servidor(backend)(Tom)
Correccion de muchas entradas de sistema malas(Tom)

Mejoras
------------
Actualizacion de ecpg y ecpglib, vease src/interfaces/ecpg/ChangeLog(Michael)
Se muestra en indice utilizado en un EXPLAIN(Zeugswette)
EXPLAIN invoca una regla de sistema y muestra plan(es) para la reescritura de consultas(Jan)
Conocimiento multi-byte de muchos tipos de datos y funciones, via configure(Tatsuo)
Nuevo configure con la opcion --with-mb(Tatsuo)
Nueva opcion initdb --pgencoding(Tatsuo)
Nueva opcion createdb -E multibyte(Tatsuo)
Select version(); ahora devuelve la version de PostgreSQL(Jeroen)
Libpq permite ahora clientes asincronos(Tom)
Se permite la cancelacion desde el cliente de una consulta en el proceso en servidor(backend)(Tom)
Psql cancelas las consultas ahora con Control-C(Tom)
Usuarios de Libpq no necesitan dar consultas dummy para obtener mensajes NOTIFY(Tom)
NOTIFY envia ahora al PID del emisor, asi que puedes decir si eras tu mismo(Tom)
La estructura de PGresult ahora incluye un mensaje de error asociado, si lo hay(Tom)
Se definen los argumentos "tz_hour" y "tz_minute" como date_part()(Thomas)
Se anaden rutinas para convertir entre varchar y bpchar(Thomas)
Se anaden runtinas para permitir el dimensionamiento de
varchar y bpchar dentro de las columnas de destino(Thomas)
Se anade un bit a las etiquetas (flags) oara soportar
zona horaria y minutos en la devolucion de fecha(Thomas)
Se permiten mas variaciones en numeros de coma flotante (por ej. ".1", "1e6")(Thomas)
Se corrigen el analisis sintactico de menores unarios empezando con espacios(Thomas)
Se implementa TIMEZONE_HOUR, TIMEZONE_MINUTE por especificaciones SQL92(Thomas)
Se verifica i se ignora adecuadamente constraints de columna FOREIGN KEY(Thomas)
SE defina USER como sinonimo de CURRENT_USER por especificacines de SQL92(Thomas)
Se habilita HAVING en clausulas pero no se corrije en ningun otro lugar aun.
Se hace el tipo "char" un sinonimo de "char(1)" (actualmente implementado como bpchar)(Thomas)
Se guarda el tipo de cadena si esta especificado por el manejo de la clausula DEFAULT(Thomas)
Operaciones de coercion abarcan diferentes tipos de datos(Thomas)
Se permite a algunos indices utilizar columnas de diferentes tipos(Thomas)
Anadidas capcidades para coersiones de tipo automatico(Thomas)
Depuraciones para objetos grandes, de este modo un fichero es truncado en su apertura(Peter)
Depuraciones de la lectura de lineas(Tom)
Se permite que psql \f \ tomen los espacios en blanco como delimitadores(Bruce)
Se pasa el pg_attribute.atttypmod al frontal de la aplicacion para las longitudes de los campos(Tom,Bruce)
Libreria de compatibilidad con Msql en /contrib(Aldrin)
Se elimina el requerimiento de que las clausulas identificadoras ORDER/GROUP BY
estuvieran incluidas en la lista de la busqueda(David)
Se convierten columnas para emparejarlas en las clausulas de UNION(Thomas)
Se elimina fork()/ecec() y solo se hace fork()(Bruce)
Depuraciones en Jdbc(Peter)
Se muestra el estado del proceso en el servidor (backend) en la
linea de comandos de ps(solo funciona en algunas plataformas)(Bruce)
Pg_hba.conf tiene ahora una opcion sameuser en el campo de la base de datos
Se hace que lo_unlink tome el parametro oid, no el int4
Nueva DISABLE_COMPLEX_MACRO para compiladores que no pueden manejar nuestras macros(Bruce)
Libpgtcl maneja los NOTIFY ahora como un evento Tcl, no se necesitan enviar consultas tontas(Tom)
Depuraciones en libpgtcl(Tom)
Anadida una opcion -error al comando pg_result de libpgtcl(Tom)
Anadido parche locale, vease docs/README/locale(Oleg)
Correccion para pg_dump con ella la sintaxis de CONSTRAINT y CHECK es correcta(ccb)
Nuevo codigo contrib/lo para eliminar grandes objetos huerfanos(Peter)
Nuevp comando psql "SET CLIENT_ENCODING TO 'encoding'" para prestaciones
multi.byte, vease /doc/README.mb(Tatsuo)
codigo /contrib/noupdate para revocar permisos de actualizacion en una columna
Libpq puede ser compilada ahora en win32(Magnus)
Anadido PQsetdbLogin() en libpq
Nuevo tipo entero 8-byte, comprobado por el configure del soporte para OS(Thomas)
Mejor soporte para nombres entrecomillados de tabla/columnas(Thomas)
Se rodean los nombres de tabla y columnas con dobles comillas en pg_dump(Thomas)
PQreset() trabaja ahora con contrasenas(Tom)
Handle case of GROUP BY target list column number out of range(David)
Se permite UNION en las subconsultas
Anadido auto-dimensionamiento a la pantalla a los comandos \d?(Bruce)
Se utiliza UNION para mostrar todos los resultados de \d? en una consulta(Bruce)
Se anade la prestacion de busqueda de campo \d?(Bruce)
Pg_dump utiliza menos peticiones \connect(Tom)
Se hace que la opcion -z de pg_dump trabaje mejor, se documenta en la pagina de manual(Tom)
Se anade la clausula HAVING con total soporte para subconsultas y uniones(Stephan)
Texto completo de las rutinas de indexado en contrib/fulltextindex(Maarten)
Los ids de transacciones se almacenan ahora en memoria compartida(Vadim)
Nuevo PGCLIENTENCODING cuando ejecutan el comando COPY(Tatsuo)
Soporte para la sintaxis SQL92 "SET NAMES"(Tatsuo)
Soporte para LATIN2-5(Tatsuo)
Anadido el caso UNICODE los test de refresion(Tatsuo)
Depuracion de gestor de bloqueos, nuevos modos de bloqueos para LLL(Vadim)
Se permite el uso de indice en clausulas OR(Bruce)
Se permite "SELECT NULL ORDER BY 1;"
La explicacion VERBOSE del plan lo imprime, y ahora imprime en bonito el plan al
fichero de log del postmaster(Bruce)
Se anaden indices al display para el comando \d(Bruce)
Se permite el GROUP BY en funciones(David)
Nuevo pg_class.relkind para obejtos grandes(Bruce)
Nuevo modo de enviar libpq mensajes NOTICE a diferentes localizaciones(Tom)
Nuevo comando de escritura \w para psql(Bruce)
Nuevo /contrib/findoidjoins escanea columnas oid para encontrar relaciones de union(Bruce)
Se permite que sean considerados indices compatibles binarios cuando se verifican
indices validos para una clausula de restriccion conteniendo una constante(Thomas)
Nuevo codigo ISBN/ISSN en /contrib/isbn_issn
Se permite NOT LIKE, IN, NOT IN, BETWEEN, y NOT BETWEEN constraint(Thomas)
Nuevo sistema de reescritura corrige muchos problemas con reglas y vistas(Jan)
        * Reglas en trabajos relacionados
        * Cualificaciones de eventos en trabajos de inserciones/actualizaciones/borrados
        * Nueva variable OLD para referirse a CURRENT, CURRENT se eliminara en un futuro
        * Las reglas de actualizacion se pueden referir a NEW y OLD en la regla cualificacion/accion
        * Inserciones/actualizaciones/borrados en vistas de trabajo
        * Reglas multiples de accion se soportan ahora, rodeadas entre parentesis
        * Usuarios normales pueden crear vistas/reglas en las tablas en las que tengan permisos de RULE
        * Las reglas y las vistas heredan los permisos del creador
        * No hay reglas a nivel de columna
        * No hay reglas de ACTUALIZACION NUEVA/VIEJA (UPDATE NEW/OLD)
        * Nuevas vistas de sistema pg_tables, pg_indexes, pg_rules y pg_views
        * Solo se puede ejecutar una accion en las reglas de SELECT
        * Re escritura total revisada, tal vez para la 6.5
        * manejo de subselects
        * manejo de agregaciones en vistas
        * manejo de inserciones dentro de una seleccion desde una vista ahora funciona
Los indices del sisteme ahora son multi-clave(Bruce)
Los tipos Oidint2, oidint4, y oidname types se eliminan(Bruce)
Se utiliza cache del sistema para mas busquedas en tablas del sistema(Bruce)
Nueva lenguaje de programacion en el proceso en servidor(backend) PL/pgSQL en backend/pl(Jan)
El nuevo tipo de datos SERIAL, auto crea la secuencia/indice(Thomas)
Se permite la comprobacion de declaraciones sin recompilar(Massimo)
Mejoras en el bloqueo de usuario(Massimo)
Nuevo comando setval() para configurar el valor de una secuencia(Massimo)
Auto eliminacion del fichero de socket de unixsi no hay un postmaster ejecutandose(Massimo)
Paquete de traceo condicional(Massimo)
Nuevo comando UNLISTEN(Massimo)
Psql y libpq se compilan ahora bajo win32 utilizando win32.mak(Magnus)
Lo_read ya no almacena rastros NULL (Bruce)
Los identificadores son truncados ahora internamente a 31 caracteres(Bruce)
Opciones de createuser estan disponibles ahora en la linea de comando
Anadido soporte para codigo de enteros de 64-bit, configuracion comprobada, tipos de int8(Thomas)
Se previene la perdida de un descriptor a causa de un COPY fallido(Bruce)
Nuevo comando pg_upgrade(Bruce)
Directorios Updated /contrib (Massimo)
Nueva setencia CREATE TABLE DEFAULT VALUES disponible(Thomas)
Nueva sentencia INSERT INTO TABLE DEFAULT VALUES disponible(Thomas)
Nueva prestacin DECLARE y FETCH(Thomas)
Estructuras internas de libpq ahora no se exportan (Tom)
Se permiten indices con mas de 8 claves(Bruce)
Se elimina el teclado ARCHIVE, que ya no se utiliza(Thomas)
La opcion -n de pg_dump para suprimir comillas alrededor de los identificadores
se deshabilita las columnas del sistema para las vistas(Jan)
nuevos tipos INET y CIDR para direcciones de red(TomH, Paul)
No mas comillas en las salidas de psql
pg_dump ahora vuelca las vistas(Terry)
nuevo SET QUERY_LIMIT(Tatsuo,Jan)

Cambios en el Arbol Fuente
-------------------
Limpieza de /contrib (Jun)
Enlazadas algunas pequenas funciones llamadas para cada registro(Bruce)
Inline some small functions called for every row(Bruce)
Correcciones paraAlpha/linux
Limpiezas para Hp/UX (Tom)
Test de regresion para Multi-byte (Soonmyung.)
Se elimina la opcion --disabled del configure
Se define PGDOC para que utilice POSTGRESDIR por defecto
Se hace la regresion opcional
Se eliminan corchetes extras en el codigo de pgindent(Bruce)
Se anade soporte para la libreria compartida bsdi(Bruce)
Nueva soporte para opcion de configuracion --without-CXX support(Brook)
Nueva FAQ_CVS
Actualizado flowchart de proceso de servidor en tools/backend(backend)
Cambiado atttymod de int16 a int32(Bruce, Tom)
Se corrige Getrusage() para plataformas que no lo tienen(Tom)
Se anade PQconnectdb, PGUSER, PGPASSWORD a la pagina de manual de libpq
NS32K platform fixes(Phil Nelson, John Buller)
Correcciones para Sco 7/UnixWare 2.x (Billy,others)
Correccines para Sparc/Solaris 2.5 (Ryan)
Pgbuiltin.3 esta obsoleto, movido a los ficheros de documentacion(Thomas)
Aun mas documentacion(Thomas)
Soporte para Nexstep(Jacek)
Soporte para Aix (David)
Pagina de manual para pginterface(Bruce)
Todas las librerias compartidas tienen numero de version
Unidas todos los defines de las librerias compartidas de SO-especificos dentro de un unico fichero
Comprobacion de configuracion TCL/TK mas inteligente(Billy)
Configuracion de perl mas inteligente(Brook)
confdigure utiliza install-sh facilitado si no se encuentra script de instalacion(Tom)
nueva Makefile.shlib para configuracion de librerias compartidas(Tom)