#!./pgbash source ./Test.conf #--------------------------------------------------------------- # copy.bsh #--------------------------------------------------------------- # connect to template1 user $USER $PASSWD; set option_quiet=ON; drop database $DB1; set option_quiet=OFF; create database $DB1; disconnect template1; # echo "****************** COPY test ******************" echo " " # connect to $DB1 as db1 user $USER $PASSWD; exec_sql -m # # db1 Database # set connection db1; exec_sql -q "drop table $TABLE1" create table $TABLE1( code int, # User Code name varchar(32), # User Name address varchar(64) # User's Address ); # insert into $TABLE1 values(1, 'sakaida', 'osaka'); insert into $TABLE1(code,name) values(2, 'post\tgres'); insert into $TABLE1 values(11,'mywife', 'kobe'); insert into $TABLE1 values(11,'child1', 'hiro,sima'); insert into $TABLE1 values(11,'child2', 'akasi'); # #------ (client)copy table_name from|to filename ----- \rm test1.dat &> /dev/null \rm test2.dat &> /dev/null # copy $TABLE1() to test1.dat; delete from $TABLE1; copy $TABLE1() from test1.dat; copy $TABLE1() to test2.dat; diff test1.dat test2.dat # #------ (client)copy table_name(code,name) from|to filename ----- \rm test1.dat &> /dev/null \rm test2.dat &> /dev/null # copy $TABLE1(code,name) to test1.dat using delimiters '\t'; delete from $TABLE1; copy $TABLE1(code,name) from test1.dat; copy $TABLE1(code,name) to test2.dat; diff test1.dat test2.dat # #-- (client)copy table_name from|to filename using delimiters ',' -- \rm test1.dat &> /dev/null \rm test2.dat &> /dev/null # copy $TABLE1(code,name) to test1.dat using delimiters ','; delete from $TABLE1; copy $TABLE1(code,name) from test1.dat using delimiters ','; copy $TABLE1(code,name) to test2.dat using delimiters ','; diff test1.dat test2.dat # echo "------------- Error Test ----------------" copy $TABLE1() fromto_error stdout; copy $TABLE1() to stdout using; exec_sql -q "copy $TABLE1(ccc,name) to stdout;" if(( SQLCODE < 0 )); then echo "($SQLCODE)ERROR: Attribute 'ccc' not found" fi # disconnect all; # #***************************************** connect to template1 user $USER $PASSWD; drop database $DB1; disconnect all; # \rm test1.dat &> /dev/null \rm test2.dat &> /dev/null