Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Agregar campo que no quede al final de la tabla - PostgreSQL

Estas en el tema de Agregar campo que no quede al final de la tabla - PostgreSQL en el foro de PostgreSQL en Foros del Web. Cordial Saludo Quisiera saber cómo puedo hacer en PostgreSQL para poder crearle nuevos campos a una tabla (por decir algo, en la mitad), sin que ...
  #1 (permalink)  
Antiguo 24/01/2011, 10:48
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 2
De acuerdo Agregar campo que no quede al final de la tabla - PostgreSQL

Cordial Saludo

Quisiera saber cómo puedo hacer en PostgreSQL para poder crearle nuevos campos a una tabla (por decir algo, en la mitad), sin que estos queden al final de la misma, en MySQL lo he hecho con la siguiente consulta

ALTER TABLE `mitabla` ADD `micamponuevo` INT NOT NULL AFTER `micampoviejo`

consulta por medio de la cual creo un campo en la tabla y le digo después (AFTER) de cual campo debe ir el campo nuevo, más no he podido hacerlo en PostgreSQL, por lo que cada que voy a agregar un campo que no esté en al final de la tabla, tengo que eliminar la tabla por completo y volverla a crear con la nueva estructura, pero me preocupa tener que hacer lo mismo, una vez mi aplicación comience a ser usada, pues ahora solo estoy en la etapa de diseño y desarrollo.

Agradecería mucho la ayuda de alguno de ustedes.
  #2 (permalink)  
Antiguo 24/01/2011, 12:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Agregar campo que no quede al final de la tabla - PostgreSQL

Hola guillermo

Se que en mysql es posible pero en postgresql no.
No se si esto sea una desventaja o una ventaja para postgresql. Este tipo de operaciones DDL puede afectar bastante la performance de una base de datos.
Te pongo un ejemplo.... el almacenamiento de información de postgresql se hace en una unidad llamada bloque. El tamaño de bloque puede ser configurado por el administrador. Cuando tienes una tabla con un millon de registros y le añades un campo, la información que está en el otro campo, no podrá ser guardada consecutivamente con la información de bloques restante de la tabla. Esta se almacena en bloques lejanos dejando un pequeño identificador que enlace con la información de la tabla. Esto en lecturas a disco de una gran cantidad de datos, puede afectar seriamente el rendimiento de la base de datos. Una tarea de administración para corregir este problema, es recrear nuevamente la tabla, para que los datos se almacenen adecuadamente en los bloques y su acceso a disco se optimice.

Otra cosa que debes tener en cuenta es que las tareas DDL (Data Definition Language) no deben estar enlazadas a una tarea automatizada por un software. Si tu desde la aplicación das la opción de crear campos adicionales, borrarlos o modificarlos, lo que estas haciendo es fragmentar severamente la información de tu base de datos. Esto trae muchos problemas en la administración de la misma.

Es solo un consejo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 24/01/2011, 14:52
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 2
De acuerdo Respuesta: Agregar campo que no quede al final de la tabla - PostgreSQL

Gracias por tu aporte huesos.

Así mismo en vista de que eres tan amable y al parecer nadie ha leido mi anterior post (duda) el cual también se relaciones con BD, te agradecería si por favor lo puedes leer y ayudarme con esta duda.

http://www.forosdelweb.com/f99/probl...gresql-879025/

Muchas gracias.

Etiquetas: final, quede, tablas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.