Home > Archive > Slony1 PostgreSQL Replication > July 2005 > About at existing set ALTER TABLE set default value









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author About at existing set ALTER TABLE set default value
Sun.betty

2005-07-21, 3:24 am


Hello !

ALL!

at database test existing table schema :

create table T_MATCH_FIELD_INFO (
FIELD_ID INT4 not null,
PERSON_QTY INT4 not null,
constraint PK_T_MATCH_FIELD_INF
O primary key (FIELD_ID)
);

want modify table schema change into :

create table T_MATCH_FIELD_INFO (
FIELD_ID INT4 not null,
PERSON_QTY INT4 not null,
f4 VARCHAR(8) not null ,
f8 smallint null default 0 ,
f9 VARCHAR(8) null default 'abc' ,
f11 TIMESTAMP null default 'NOW()' ,
constraint PK_T_MATCH_FIELD_INF
O primary key (FIELD_ID)
);

so do :

vi alterTable.sql

ALTER TABLE t_match_field_info ADD COLUMN f4 VARCHAR(8) ;
ALTER TABLE t_match_field_info ALTER COLUMN f4 SET NOT NULL ;

ALTER TABLE t_match_field_info ADD COLUMN f8 smallint ;
ALTER TABLE t_match_field_info ALTER COLUMN f8 SET DEFAULT '0' ;

ALTER TABLE t_match_field_info ADD COLUMN f9 VARCHAR(8) ;
ALTER TABLE t_match_field_info ALTER COLUMN f9 SET DEFAULT 'abc' ;

ALTER TABLE t_match_field_info ADD COLUMN f11 TIMESTAMP ;
ALTER TABLE t_match_field_info ALTER COLUMN f11 SET DEFAULT 'NOW()'





vi exec.sh
#!/bin/sh

CLUSTERNAME=test1
MASTERDBNAME=test
MASTERPORT=8432
SLAVEDBNAME=test
SLAVEPORT=8432
MASTERHOST=10.10.10.67
SLAVEHOST=10.10.10.36
REPLICATIONUSER=mast
er
PGBENCHUSER=master
export CLUSTERNAME MASTERDBNAME MASTERPORT SLAVEDBNAME SLAVEPORT MASTERHOST SLAVEHOST REPLICATIONUSER PGBENCHUSER
slonik <<_EOF_
cluster name = $CLUSTERNAME;
node 1 admin conninfo = 'dbname=$MASTERDBNAM
E host=$MASTERHOST user=$REPLICATIONUSE
R';
node 2 admin conninfo = 'dbname=$SLAVEDBNAME
host=$SLAVEHOST user=$PGBENCHUSER';
EXECUTE SCRIPT (SET ID = 1 , FILENAME = '/u2/master/slonyI/test/alterTable.sql' , EVENT NODE = 1 );
_EOF_


exec successful . watch alter result:

test=# \d t_match_field_info
Table "public.t_match_field_info"
Column | Type | Modifiers
------------+-----------------------------+-----------
field_id | integer | not null
person_qty | integer | not null
f4 | character varying(8) | not null
f8 | smallint |
f9 | character varying(8) |
f11 | timestamp without time zone |
Indexes:
" pk_t_match_field_inf
o" primary key, btree (field_id)

Why set default not become effective ? I try once more noce but still fail.

If anyone know , Please give me some tip! Thanks very much !





____________________
____________________
__________
¸Ï¿ì×¢²áÑÅ»¢³¬´óÈÝÁ¿
Ãâ·ÑÓÊÏä?
http://cn.mail.yahoo.com
Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com