How to migrate Data for a Table from one DB to another DB through remote server? (Postgres , Mysql)

MySQL

for whole DB
 DB Backup: mysqldump -u root -p [database_name] > dumpfilename.sql
 DB  Restore: mysql -u root -p [database_name] < dumpfilename.sql

for a particular TABLE from a DB
 Backup: mysqldump -u root -p [database_name] [table_name] > dumpfilename.sql
 Restore: mysql -u root -p [database_name] < dumpfilename.sql


PostgreSQL

Here
IP :192.168.1.36
Port :5433
User name : paras
DB1 :kgp3_23apr15
DB2 :kgp6_23apr15

Create Back Up file for both Data Base .
In Terminal.

bishnu@bishnu:~$ /opt/PostgreSQL/9.0/bin/pg_dump -h 192.168.1.36 -p 5433 -U paras kgp3_23apr15 > kgp3_23apr15_24_bisnu.sql
bishnu@bishnu:~$ /opt/PostgreSQL/9.0/bin/pg_dump -h 192.168.1.36 -p 5433 -U paras kgp6_23apr15 > kgp6_23apr15_24_bisnu.sql


Back Up file name will generate like 'kgp3_23apr15_24_bisnu.sql'
Back Up file name will generate like 'kgp6_23apr15_24_bisnu.sql'

so that any time if we are doing any wrong migration .. we can make as before.
*************************************************************************************************************8
In pgAdmin
in DB:kgp3_23apr15 (from this DB we are migrating)

select * from donor_blood_unit_components  where status = 'Collected'
---------------------
Output (we need to migrate)
-------------
create a empty table name as 
donor_blood_unit_components_temp

CREATE TABLE donor_blood_unit_components_temp
(
  id serial NOT NULL,
  donor_visit_detail_id integer,
  component_segregate_date date,
  blood_bank_component_master_id integer,
  is_component integer,
  created_at timestamp without time zone,
  created_by character varying(50),
  updated_at timestamp without time zone,
  updated_by character varying(50),
  status character varying(40),
  blood_group_id integer,
  expiry_date date,
  flag character varying(200),
  extid character varying,
  CONSTRAINT donor_blood_unit_components_temp_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE donor_blood_unit_components OWNER TO paras;

********************************************************************
after creating donor_blood_unit_components_temp Table

Insert selected data to temp table

insert into donor_blood_unit_components_temp( select * from donor_blood_unit_components  where status = 'Collected')
---------------------------------------------------
---------------------------------------------------
/opt/PostgreSQL/9.0/bin/pg_dump -h 192.168.1.36 -p 5433 -U paras -t donor_blood_unit_components_temp kgp3_23apr15 > kdbuctemp_table_back_up.sql


Now take a Back Up file for donor_blood_unit_components_temp Table , which contained only selected data ,that we want to migrate to
DB: kgp6_23ar15 Table: donor_blood_unit_components

In Terminal
bishnu@bishnu:~$ /opt/PostgreSQL/9.0/bin/psql -h 192.168.1.36 -p 5433 -U paras kgp6_23apr15 < /home/bishnu/kdbuctemp_table_back_up.sql

**********************************************
In pgAdmin
in DB:kgp6_23apr15 (To this DB we are migrating)

check :
select * from donor_blood_unit_components_temp
select * from donor_blood_unit_components
---------------------------
insert into donor_blood_unit_components(SELECT * from donor_blood_unit_components_temp  )


Now donor_blood_unit_components table all date of kgp3_23ar15 migrated to kgp6_23ar15.

Comments