Обсуждение: change field type and length

Поиск
Список
Период
Сортировка

change field type and length

От
"Devi Munandar"
Дата:
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


Re: change field type and length

От
Michiel Lange
Дата:
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


Re: change field type and length

От
Stephan Szabo
Дата:
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.