從Mysql遷移到PostgreSQL


從Mysql遷移到PostgreSQL


1、數據遷移

我的做法是將數據從MySQL庫中導出到文件中,然后再將文件中的數據導入到PostgreSQL中.


2、創建數據文件存儲目錄

# mkdir /tmp/etl
# chmod 777 /tmp/etl

解釋下, 我選擇把數據文件放到 /tmp 目錄下,是由於此目錄權限是 777 ,這樣一來MySQL的啟動用戶mysql,以及PostgreSQL的啟動用戶 postgres 都可以讀寫此目錄下面的文件.

(切換成其他目錄均可,但需要保證mysql和postgres用戶都要擁有讀寫權限.)


3、 從MySQL中導出表數據

以表 tab_duangr 為例,將表中數據導出到文件中

mysql> select * from tab_duangr into outfile "/tmp/etl/tab_duangr.dat"  fields terminated by '^';

Query OK, 792 rows affected (0.01 sec)

此處使用ASCII字符 0x01 作為文件中字段分隔符,目的是避免與數據字段內容沖突.  ^ 需要通過 "Ctrl+V" + "Ctrl+A" 的方式輸入.


4、將數據導入到PostgreSQL

需要使用超級用戶登陸PostgreSQL (數據庫為duangr)

# su - postgres
$ psql -d duangr
psql (9.3.1)
輸入 "help" 來獲取幫助信息.
  
duangr=# copy tab_duangr   from '/tmp/etl/tab_duangr.dat' with delimiter '^'; 
COPY 792


參考:https://www.cnblogs.com/taosim/articles/4378651.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM