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)
Full text indexing routines in 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
	* Event qualifications on insert/update/delete work
	* New OLD variable to reference CURRENT, CURRENT will be remove in future
	* Update rules can reference NEW and OLD in rule qualifications/actions
	* Insert/update/delete rules on views work
	* Multiple rule actions are now supported, surrounded by parentheses
	* Regular users can create views/rules on tables they have RULE permits
	* Rules and views inherit the permissions on the creator
	* No rules at the column level
	* No UPDATE NEW/OLD rules
	* New pg_tables, pg_indexes, pg_rules and pg_views system views
	* Only a single action on SELECT rules
	* Total rewrite overhaul, perhaps for 6.5
	* handle subselects
	* handle aggregates on views
	* handle insert into select from view works
System indexes are now multi-key(Bruce)
Oidint2, oidint4, and oidname types are removed(Bruce)
Use system cache for more system table lookups(Bruce)
New backend programming language PL/pgSQL in backend/pl(Jan)
New SERIAL data type, auto-creates sequence/index(Thomas)
Enable assert checking without a recompile(Massimo)
User lock enhancements(Massimo)
New setval() command to set sequence value(Massimo)
Auto-remove unix socket file on startup if no postmaster running(Massimo)
Conditional trace package(Massimo)
New UNLISTEN command(Massimo)
Psql and libpq now compile under win32 using win32.mak(Magnus)
Lo_read no longer stores trailing NULL(Bruce)
Identifiers are now truncated to 31 characters internally(Bruce)
Createuser options now availble on the command line
Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
Prevent file descriptor leaf from failed COPY(Bruce)
New pg_upgrade command(Bruce)
Updated /contrib directories(Massimo)
New CREATE TABLE DEFAULT VALUES statement available(Thomas)
New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
New DECLARE and FETCH feature(Thomas)
libpq's internal structures now not exported(Tom)
Allow up to 8 key indexes(Bruce)
Remove ARCHIVE keyword, that is no longer used(Thomas)
pg_dump -n flag to supress quotes around indentifiers
disable system columns for views(Jan)
new INET and CIDR types for network addresses(TomH, Paul)
no more double quotes in psql output
pg_dump now dumps views(Terry)
new SET QUERY_LIMIT(Tatsuo,Jan)

Source Tree Changes
-------------------
/contrib cleanup(Jun)
Inline some small functions called for every row(Bruce)
Alpha/linux fixes
Hp/UX cleanups(Tom)
Multi-byte regression tests(Soonmyung.)
Remove --disabled options from configure
Define PGDOC to use POSTGRESDIR by default
Make regression optional
Remove extra braces code to pgindent(Bruce)
Add bsdi shared library support(Bruce)
New --without-CXX support configure option(Brook)
New FAQ_CVS
Update backend flowchart in tools/backend(Bruce)
Change atttypmod from int16 to int32(Bruce, Tom)
Getrusage() fix for platforms that do not have it(Tom)
Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page
NS32K platform fixes(Phil Nelson, John Buller)
Sco 7/UnixWare 2.x fixes(Billy,others)
Sparc/Solaris 2.5 fixes(Ryan)
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
Even more documention(Thomas)
Nextstep support(Jacek)
Aix support(David)
pginterface manual page(Bruce)
shared libraries all have version numbers
merged all OS-specific shared library defines into one file
smarter TCL/TK configuration checking(Billy)
smarter perl configuration(Brook)
configure uses supplied install-sh if no install script found(Tom)
new Makefile.shlib for shared library configuration(Tom)