Postgres kết xuất vào tập tin TXT


8

Có cách nào để chuyển đổi tệp kết xuất Postgres thành tệp văn bản không?

Tôi đang gặp vấn đề khi đưa kết xuất đến vị trí tệp thích hợp của tôi, tôi sẽ chỉ khôi phục từ tệp kết xuất rồi xuất thành văn bản.

Đây là những gì Lastest.dump trông giống như:

nhập mô tả hình ảnh ở đây


Làm thế nào bạn tạo ra bãi chứa? Đầu ra của pg_dumpđã là văn bản.
Greg Hewgill

Tôi không chắc anh ta đã sử dụng lệnh nào để tạo kết xuất, nhưng đó là tệp * .dump.
vẽ

1
Nó là một kết xuất nhị phân hoặc SQL? Nếu đó là kết xuất nhị phân thì điều dễ nhất có lẽ là thiết lập PostgreSQL, tải kết xuất và sau đó chuyển dữ liệu trực tiếp từ PostgreQuery sang SQLite. Nếu đó là một bãi chứa SQL thì bạn có thể đưa nó vào SQLite với một chút chỉnh sửa.
mu quá ngắn

1
@GregHewgill Phụ thuộc vào ý nghĩa của bạn khi "kết xuất nhị phân". Nếu đó là pg_dump -Fcđầu ra, có khả năng, thì nó sẽ khôi phục lại hầu hết các phiên bản. Nếu đó là bản sao của thư mục dữ liệu như được chụp pg_basebackupthì bạn sẽ đúng.
Craig Ringer

1
@Drew Đầu ra của file thefile.dumpsẽ có nhiều thông tin. Nó in cái gì đó như thế thefile.dump: PostgreSQL custom database dump - v1.12-0nào? Nếu vậy, bạn phải sử dụng pg_restoređể tải kết xuất vào một phiên bản PostgreSQL hoặc chuyển đổi nó thành một kết xuất SQL đơn giản.
Craig Ringer

Câu trả lời:


17

Đây là một tệp kết xuất được sản xuất bởi pg_dump -Fc .

Để tạo một tệp văn bản chứa các lệnh SQL từ nó, hãy sử dụng pg_restore .

Cú pháp cơ bản pg_restore file.dump > file.sqllà, bạn không chỉ định cơ sở dữ liệu đích (chú ý -dtùy chọn còn thiếu ).


Đổ bao gồm dữ liệu quá?
vẽ

@Drew: bãi chứa có thể có hoặc không chứa dữ liệu tùy thuộc vào các tùy chọn được tạo. Chạy lệnh trên và xem.
Daniel Vérité
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.