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:
Las vistas y las reglas son ahora funcionales gracias al extensivo nuevo codigo en las reglas de re escritura de Jan Wieck. Tambien escribio un capitulo sobre ello en la Guia del Programador.
Jan tambien contribuyo al segundo lenguaje procedural, PL/pgSQL, para ir con el original lengaje procedural PL/pgTCL con el que el contribuyo la ultima version.
Tenemos soporte opcional de caracter multiple-byte de Tatsuo Iisho para complementar nuestro soporte local.
Las comunicaciones cliente/servidor han sido depuradas, con mejor soporte para mensajes asincronos e interrupciones, gracias a Tom Lane.
El depurador de sintactico ejecuta ahora coersiones de tipo automatico para emparejar argumentos a los operadores y funciones disponibles, y para emparejar columnas y expresiones con columnas destino. Esto utiliza un mecanismo generico que soporta las prestaciones de extensibilidad de tipo de Postgres. Hay un nuevo capitulo en la Guia de Usuario que cubre este asunto.
Tres nuevos tipos de datos han sido anadidos. Dos tipos, inet y cidr, soportan varias formas de trabajo en red IP, subred, y direccionamiento por maquina. Ahora hay un tipo entero de 8 byte disponible para algunas plataformas. Vease el capitulo de tipos de datos en la Guia del Usuario para mas detalles. Un cuarto tipo, serial, se soporta ahora por el depurador de sintactico como una amalgama de tipo int4, una secuencia, y un indice unico.
Han sido aņadidas varias prestaciones mas sintacticas compatibles con SQL92, incluyendo INSERT DEFAULT VALUES Several more SQL92-compatible syntax features have been added, including INSERT DEFAULT VALUES
La instalacion y configuracion automatica del sistema ha recibido alguna atencio, y deberia ser mas robusta para mas plataformas de lo que nunca ha sido.
Se requiere un dump/restore utilizando pg_dump o pg_dumpall para aquellas que desen migrar datos desde cualquier version anterior de Postgres.
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) |