2012-02-13 33 views
8

Tôi có một tệp kết xuất Postgres và tôi cần biến nó thành một kết xuất MySQL để tôi có thể tạo một cơ sở dữ liệu MySQL phù hợp. Tôi mới vào Postgres Tôi đã cài đặt nó trên máy chủ Ubuntu của tôi và tôi sẽ xem liệu tôi có thể nhập và xuất SQL của một số loại. Tôi không biết làm thế nào để làm điều đó.Chuyển đổi một bãi chứa PostgreSQL thành một bãi chứa MySQL

Đây là lệnh tôi đã cố gắng:

pg_dump -Fc --no-acl --no-owner -h localhost -U dbuser testdb > b526.dump 

này không lỗi nhưng tôi không nghĩ rằng bất cứ điều gì đã xảy ra:

testdb=# \dt; 
No relations found. 
testdb=# \d 
No relations found. 
testdb=# \t 
Showing only tuples. 
testdb=# \d 

Ngoài ra, tôi sẽ đánh giá cao một cách dễ dàng hơn để tắt chức năng này .dump vào một bãi chứa MySQL.

+0

Xem: http://stackoverflow.com/questions/5909223/migrate-database-from-postgres-to-mysql –

+0

Nhiều [câu hỏi liên quan] (http://stackoverflow.com/search?q= [postgresql] + [mysql] + di chuyển + chuyển đổi & gửi = tìm kiếm). –

Trả lời

5

Bạn có thể lưu dữ liệu của cơ sở dữ liệu PostgreSQL ở định dạng văn bản thuần túy với -Fp (đồng bằng), nhưng bạn sẽ phải thực hiện một số chuyển đổi thủ công sau đó, vì PostgreSQL chứa nhiều phần mở rộng không chuẩn cho ngôn ngữ SQL.

Tuy nhiên, nếu bạn đã chuyển đổi giản đồ, một kết xuất dữ liệu sẽ chủ yếu tương thích.

Tôi khuyên bạn nên sử dụng công cụ như SquirrelSQL. Nó hỗ trợ chuyển đổi từ cơ sở dữ liệu này sang cơ sở dữ liệu khác.

+1

* Nhiều * tiện ích mở rộng không chuẩn mà bạn đang đề cập đến? Theo kinh nghiệm của tôi, MySQL không còn tiêu chuẩn hơn PostgreSQL –

+0

Xem qua http://www.postgresql.org/docs/9.1/interactive/sql-commands.html và xem ghi chú Tương thích trong mỗi phần. – Daniel

+0

Bạn có thể cung cấp liên kết về cách thực hiện các chuyển đổi này không? Tôi đã cài đặt SQL Squirrel và thiết lập nó, nhưng tôi đang gặp khó khăn trong việc tìm kiếm bất kỳ thông tin nào về việc chuyển đổi cơ sở dữ liệu. – Amalgovinus

Các vấn đề liên quan