En PostreSQL 8.3, estoy tratando de crear una vista que se parezca a una tabla existente pero que tenga diferentes nombres de columna.
Esto funciona
CREATE OR REPLACE VIEW gfam.nice_builds AS
SELECT (family_tree.family_tree_id) as x,
family_tree.family_tree_name, family_tree.family_tree_description
FROM gfam.family_tree;
Lo anterior hace un duplicado de la tabla family_tree pero el siguiente intento falla:
CREATE OR REPLACE VIEW gfam.nice_builds AS
SELECT (family_tree.family_tree_id) as x,
family_tree.family_tree_name, family_tree.family_tree_description
FROM gfam.family_tree;
- ERROR: no se puede cambiar el nombre de la columna de vista "family_tree_id"
¿Cómo puedo cambiar el nombre de las columnas?
fuente
VARCHAR
en la primera tabla yTEXT
en la segunda tabla) para las mismas columnas con nombre. ¡Pasé mucho tiempo investigando hasta que noté que IDE se muestraVARCHAR
para ambas tablas! Solo puropg_dump
me ayudó.También puede usar
ALTER TABLE tbl RENAME COLUMN foo TO bar
para cambiar el nombre de las columnas de vista.fuente
tbl
aqui ¿Es la tabla real para la que se crea la vista o este es el nombre de la vista?