Thread: change field type and length
I've created table with postgresql, and so far so good, but I want to change Field type and field length, I've tried to find command line and documentation postgresql to change table field, but I can't get it. so there are any trip to change that field...? CREATE TABLE "dat_jab" ( "code_jab" numeric(2,0) NOT NULL, "nm_jab" varchar(25), CONSTRAINT "dat_jab_pkey" PRIMARY KEY ("code_jab") ); CREATE INDEX "dat_jab_code_jab_key" ON "dat_jab" ("code_jab"); *** want to change Field Type "code_jab" numeric(4.0) , and field name "nm_jab" -->"nm_cdjab" regards --dv
I've been looking at it too, and my idea is that this is not possible. Only a dump and load would do the trick... if the data-types are compatible of course... Michiel At 12:13 18-4-2003 +0700, Devi Munandar wrote: >I've created table with postgresql, and so far so good, but I want to change >Field type and field length, I've tried to find command line and >documentation postgresql to change table field, but I can't get it. so there >are any trip to change that field...? > >CREATE TABLE "dat_jab" ( > "code_jab" numeric(2,0) NOT NULL, > "nm_jab" varchar(25), > CONSTRAINT "dat_jab_pkey" PRIMARY KEY ("code_jab") >); >CREATE INDEX "dat_jab_code_jab_key" ON "dat_jab" ("code_jab"); > >*** want to change Field Type "code_jab" numeric(4.0) , and field name >"nm_jab" -->"nm_cdjab" > > >regards > >--dv > > >---------------------------(end of broadcast)--------------------------- >TIP 6: Have you searched our list archives? > >http://archives.postgresql.org
On Fri, 18 Apr 2003, Devi Munandar wrote: > I've created table with postgresql, and so far so good, but I want to change > Field type and field length, I've tried to find command line and > documentation postgresql to change table field, but I can't get it. so there > are any trip to change that field...? > > CREATE TABLE "dat_jab" ( > "code_jab" numeric(2,0) NOT NULL, > "nm_jab" varchar(25), > CONSTRAINT "dat_jab_pkey" PRIMARY KEY ("code_jab") > ); > CREATE INDEX "dat_jab_code_jab_key" ON "dat_jab" ("code_jab"); > > *** want to change Field Type "code_jab" numeric(4.0) , and field name > "nm_jab" -->"nm_cdjab" Renaming should be easy with ALTER TABLE RENAME COLUMN. For changing the field type, I think about the best you can do is making a new column with the correct new type, copy the data across and drop the old column.