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

Problema obteniendo nombres de columnas

Estas en el tema de Problema obteniendo nombres de columnas en el foro de PostgreSQL en Foros del Web. Hola a todos Estoy ejecutando un query que obtiene los nombres de las columnas de una tabla deseada, lo cual me funciona con todas las ...
  #1 (permalink)  
Antiguo 10/03/2011, 15:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Problema obteniendo nombres de columnas

Hola a todos

Estoy ejecutando un query que obtiene los nombres de las columnas de una tabla deseada, lo cual me funciona con todas las tablas menos una.

El sql que estoy utilizando es este:

select a.attname from pg_attribute a, pg_class b where b.relfilenode=a.attrelid
and b.relname = 'TABLA' and a.attname not in ('tableoid','cmax','xmax','cmin''xmin','ctid','gid ','the_geom','cmin','xmin')


Y este es el codigo de la tabla para la que no me funciona:

-- Table: f_suelos

-- DROP TABLE f_suelos;

CREATE TABLE f_suelos
(
gid integer NOT NULL DEFAULT nextval('f_suelos_temp_gid_seq'::regclass),
id integer,
tipo character varying(30),
subtipo character varying(30),
erosion character varying(30),
matorg integer,
profefect double precision,
textura character varying(30),
estructura character varying(30),
ph double precision,
pendiente smallint,
gravas double precision,
piedras double precision,
rocas double precision,
the_geom geometry,
CONSTRAINT f_suelos_temp_pkey PRIMARY KEY (gid),
CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2),
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL),
CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 2085)
)
WITH (OIDS=FALSE);
ALTER TABLE f_suelos OWNER TO postgres;


Alguien sabe que pueda ser?


Gracias de antemano

Saludos, Raisel
  #2 (permalink)  
Antiguo 11/03/2011, 09:18
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: Problema obteniendo nombres de columnas

No tengo como probar (ya que no tengo postgis instalado) pero tal vez sea por el tipo de dato geometry que no se encuentra en el diccionario de datos de postgresql.

busca una solución por ese lado.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 14/03/2011, 08:21
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema obteniendo nombres de columnas

Hola huesos

Gracias por tu respuesta.
El problema lo resolvi modificando la declaracion del campo serial gid.
Antes estaba asi:

gid integer NOT NULL DEFAULT nextval('f_suelos_temp_gid_seq'::regclass),

lo declare asi:

gid integer NOT NULL

y resuelto el problema, el query funciona perfectamente.


Es muy extraño, y en realidad el porque no lo se.
Si te das cuenta me escribes para instruirme.


Saludos
  #4 (permalink)  
Antiguo 14/03/2011, 10:04
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: Problema obteniendo nombres de columnas

El tipo de dato serial realmente no existe.
Cuando defines un campo serial, el tipo de dato queda como bigint y se configura una secuencia por defecto para dicho valor.

Por ese lado podría estar la cosa.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: columnas, nombres
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 04:11.