postgresql에 프로그램을 이용해서 table을 만들었을때는 잘됐는데,
아래처럼,....
CREATE TABLE public.geo
(
gid integer NOT NULL DEFAULT nextval('geo_gid_seq'::regclass),
layer character varying(17) COLLATE pg_catalog."default",
elevation double precision,
dong_nm character varying(150) COLLATE pg_catalog."default",
grnd_flr integer,
height numeric,
geom geometry(MultiPolygon,4326),
CONSTRAINT geo_pkey PRIMARY KEY (gid)
)
근데, 프로그램을 통해서 테스트를 하는데 다른 데이터를 이용해서 작업을 진행했다.
그런데, query를 하는데 에러가 나길래 봤더니.
아래처럼, " 따옴표로 감싸져 있는것이 아닌가.
그래서, query할때 테이블명이나, 필드명을 그대로 "테이블명" 이렇게 따옴표를 넣어줘야 한다.
왜이럴까 봤더니...
CREATE TABLE public."MYSHAPETABLE"
(
fid integer NOT NULL DEFAULT nextval('"MYSHAPETABLE_fid_seq"'::regclass),
the_geom geometry(MultiPolygon,4326),
"GM_LAYER" character varying(17) COLLATE pg_catalog."default",
"ELEVATION" double precision,
"UFID" character varying(28) COLLATE pg_catalog."default",
"UGRND_FLR" integer,
"COL_ADM_SE" character varying(5) COLLATE pg_catalog."default",
CONSTRAINT "MYSHAPETABLE_pkey" PRIMARY KEY (fid)
)
테이블명이나 필드명에 대문자가 들어가거나, 예약어를 사용하면 저렇게 postgresql이 처리를 해버린다고 한다.
모두 소문자로 바꾸니 잘되더라..
참조
http://blog.naver.com/PostView.nhn?blogId=jsf3rd&logNo=150761434&categoryNo=0&parentCategoryNo=4&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView
'Database' 카테고리의 다른 글
사용자 DSN 등록하지 않고 ODBC 연결하기 (0) | 2014.06.13 |
---|---|
ADO로 xlsx 파일을 사용하기 위한 설정 값 (0) | 2014.06.13 |
SQLite에 외부(DBF)데이터 넣기. (0) | 2013.08.06 |