MySQL轉移到PostgreSQL的痛苦經歷(轉)
MySQL轉移到PostgreSQL的痛苦經歷(轉)[@more@] 五一了,加班,閒著沒事,打算把自己放在MySQL(5.0.17)上的資料轉到PostgreSQL(8.0.0)上,參照網上的文章匯入,結果陷入了一場麻煩之中。最後終於成功了,現在將步驟說一下,以免有其他的朋友誤入歧途。
資料:做電信業務話單分析使用的兩張表,每張都在200萬條記錄左右
步驟:
1.用mysqldump將檔案導了出來,生成了兩個檔案bill01.sql,bill02.sql(400M左右一個檔案),如果你的資料量也不較大,最好不要整庫匯出,否則編輯匯出檔案回讓你的機器爽死的,俺的機器P42.8,1G記憶體都吃不消。
2.由於資料庫伺服器在遠端,編輯很不方便,下載回本機。用UltraEdit32開啟,將匯出檔案的前面的建立表的部分、檔案最後的LOCK之類的都刪除,僅保留資料。將資料前面Insert xxxx values(刪除,檔案中`號等MySQL用的符號刪除。總之形成一個只有資料的檔案,每行一個記錄,每欄位間用,號分隔。
3.在PostgreSQL上建立相應的表結構,上傳資料檔案到伺服器。
4.用psql登陸資料庫,COPY bill01 FROM '/data/bill02.txt' WITH DELIMITER AS ','
基本上就OK了。
用這個辦法比匯出來的SQL命令執行要快多了,俺的機器跑了10個小時才導了200多萬條記錄,而且匯出的SQL命令需要修改才能在PostgreSQL上用,用這個辦法,10分鐘搞定。
要注意的問題:
如果欄位為Integer且允許為NULL的話,匯入之前將NULL替換成數字,否則會報錯的。
一定要將`符號去掉,這個是MySQL支援的,PostgreSQL匯入時可不認這個
資料:做電信業務話單分析使用的兩張表,每張都在200萬條記錄左右
步驟:
1.用mysqldump將檔案導了出來,生成了兩個檔案bill01.sql,bill02.sql(400M左右一個檔案),如果你的資料量也不較大,最好不要整庫匯出,否則編輯匯出檔案回讓你的機器爽死的,俺的機器P42.8,1G記憶體都吃不消。
2.由於資料庫伺服器在遠端,編輯很不方便,下載回本機。用UltraEdit32開啟,將匯出檔案的前面的建立表的部分、檔案最後的LOCK之類的都刪除,僅保留資料。將資料前面Insert xxxx values(刪除,檔案中`號等MySQL用的符號刪除。總之形成一個只有資料的檔案,每行一個記錄,每欄位間用,號分隔。
3.在PostgreSQL上建立相應的表結構,上傳資料檔案到伺服器。
4.用psql登陸資料庫,COPY bill01 FROM '/data/bill02.txt' WITH DELIMITER AS ','
基本上就OK了。
用這個辦法比匯出來的SQL命令執行要快多了,俺的機器跑了10個小時才導了200多萬條記錄,而且匯出的SQL命令需要修改才能在PostgreSQL上用,用這個辦法,10分鐘搞定。
要注意的問題:
如果欄位為Integer且允許為NULL的話,匯入之前將NULL替換成數字,否則會報錯的。
一定要將`符號去掉,這個是MySQL支援的,PostgreSQL匯入時可不認這個
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-959635/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DevOps經歷的 Log4j痛苦經歷 - Redditdev
- QT中QProcess呼叫命令列的痛苦經歷QT命令列
- 經歷了原始碼的痛苦,掌握DRF的核心序列化器原始碼
- 我做IT專案的專案經理的經歷(轉)
- GIS轉碼的秋招歷程與踩坑經歷
- 將你的網站從MySQL改為PostgreSQL(上)(轉)網站MySql
- 將你的網站從MySQL改為PostgreSQL(下)(轉)網站MySql
- 從MySQL遷移到VoltDB的一點經驗MySql
- 記一次preact遷移到react16.6.7的經歷React
- [譯] Plaid 應用遷移到 AndroidX 的實踐經歷AIAndroid
- 記一次痛苦的yii+vue+element 前後端不分離開發經歷Vue後端
- JN專案-將伺服器上的mysql資料庫轉移到本地伺服器MySql資料庫
- 在Linux環境中安裝Qmail的經歷(轉)LinuxAI
- PHP 程式設計師轉 Go 語言的經歷分享PHP程式設計師Go
- postgresql 列轉行SQL
- 一個程式設計師的四年經歷反思(轉)程式設計師
- 修復AIX X-window 的幾點經歷之談(轉)AI
- 三年 React 開發經驗的我,遷移到 Vue 的心路歷程ReactVue
- 轉:IBM的歷史IBM
- Android中焦點移到ListView的問題(轉)AndroidView
- (轉)例項分析:MySQL優化經驗MySql優化
- 歷經2個月從後端轉行到前端的改變後端前端
- 我的Java轉型大資料的學習過程和經歷Java大資料
- 【MySQL】一次修改mysql預設路徑的經歷MySql
- 【MySQL】一次修改mysql 預設路徑的經歷MySql
- 經典的反轉
- (轉) DB 遷移到Data Guard 實施方案
- 記一次我的 MySQL 調優經歷MySql
- SQLITE 遷移到 MYSQLSQLiteMySql
- [翻]如何將您的APP從Objective C轉移到Swift?APPObjectSwift
- C++的歷史紀實 (轉)C++
- 38 歲裸辭讀書 4 個月,轉戰紐西蘭的經歷!
- mysql常用的hint[轉]MySql
- MySQL 的 API 介面(轉)MySqlAPI
- 將PHP應用無縫轉移到IIS中?PHP
- 痛苦的翻譯
- 親身經歷的一次Mysql OCP考試MySql
- Tcpdump的小經驗(轉)TCP