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

Popular posts from this blog

Simple way of importing and exporting excel, csv file for ruby on rails application using roo gem

Important Query for PostgreSQL

All About Route in Rails