phpPgAdmin xuất kết xuất SQL rỗng?


10

Tôi đang cố gắng xuất cơ sở dữ liệu PostgreQuery từ phpPgAdmin và vì một số lý do, nó đã loại bỏ một tệp SQL trống.

Cơ sở dữ liệu chắc chắn không trống.

Để xuất nó tôi đang nhấp vào cơ sở dữ liệu, sau đó xuất, sau đó chọn cấu trúc và dữ liệu.

Bất cứ ý tưởng tại sao điều này sẽ được? Cảm ơn


2
Bạn có thể xuất cùng một cơ sở dữ liệu bằng cùng một tên người dùng từ dòng lệnh không?
Khaled

Nhật ký cũng có liên quan ở đây (nhật ký Apache và phppgAdmin nếu nó sử dụng chúng). Nó có thể bị lỗi trong xuất khẩu.
Andrew M.

Tôi quản lý để xuất nó từ dòng lệnh, tôi nghĩ rằng phải có một số loại lỗi trong phpPgAdmin của tôi. Cảm ơn!
Proocop

Câu trả lời:


8

bạn cần sửa đổi dbexport.php của mình trong / usr / share / phppgadmin (trên Ubuntu)

sửa đổi dòng từ passthru($cmd);để echo passthru($cmd); sửa đổi dòng $cmd = $exe . " -i";thành$cmd = $exe;

nó sẽ đủ thôi. Thông số nguyên nhân -idường như không được chấp nhận trong postgres 9.5, anh ấy đã báo lỗi cho tôi.


1
Hóa ra bản phát hành cuối cùng của PhpPgAdmin là từ năm 2013. Tuy nhiên, có một repo github.com/phppgadmin/phppgadmin nơi nó vẫn được duy trì (ít nhiều) và cam kết cuối cùng trong nhánh chính đã được giải quyết vấn đề này - cách bạn mô tả.
Forseti

Thật tốt khi nghe nếu nó vẫn còn được giải quyết và giải quyết vấn đề nhỏ này! :) Tuy nhiên hiện tại tôi không sử dụng nó (có tài khoản của riêng tôi, được viết bằng java)
Shadow

1

Tôi quản lý để xuất nó từ dòng lệnh bằng cách sử dụng:

./pg_dump -U postgres -c -f /htdocs/databasename.sql databasename

3
Bạn có thể không muốn kết xuất db của mình vào webroot, ngay cả khi bạn đã xáo trộn tên đó.
Dana the Sane

1

Tôi đã có cùng một vấn đề và kiểm tra nhật ký của tôi:

/usr/lib/postgresql/8.4/bin/pg_dump: invalid option -- 'd'
Try "pg_dump --help" for more information.

phpPgAdmin sử dụng tùy chọn -d, đã bị từ chối vào năm 2009, vì vậy tôi đã chỉnh sửa dbexport.php và thay thế "-d" bằng "--inserts", bây giờ nó hoạt động tốt: D!

http://archives.postgresql.org/message-id/49B53447.30402@endpoint.com


Trong bản cài đặt phpPgAdmin của tôi, tôi đã có --insertsvà không có -dnhưng vẫn có một tệp trống.
JustAMartin

0

Trong giao diện xuất, chọn loại xuất "SQL" sẽ trả về một tệp trống. Chọn "kiểu xuất" là "SAO CHÉP" là lựa chọn đúng ở đây - nó trả về tệp kết xuất sql.

Nhưng tôi cũng nghĩ rằng phppgadmin hút đủ để chúng ta sử dụng dòng lệnh thay thế. Ví dụ: nó sẽ thất bại nhưng báo cáo không có lỗi nếu bạn tải lên tệp sql vượt quá kích thước tệp tải lên được phép (thường ~ 2MB).

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.