Initdb ở đâu trong Ubuntu


16

Tôi muốn đặt lại cơ sở dữ liệu postgresql của tôi trở lại tình trạng ban đầu sau khi cài đặt. Rõ ràng initdb là cách để làm điều này, nhưng mặc dù lệnh có trang man, nó dường như không ở đâu trên hệ thống Ubuntu 10.10 của tôi.

Có ai biết làm thế nào điều này được thực hiện trên Ubuntu không?


initdb ở đâu đó trên hệ thống của bạn, PostgreSQL cần nó để bắt đầu ở nơi đầu tiên.
Frank Heikens

Câu trả lời:


13

Cá nhân tôi nghĩ rằng bạn sẽ tốt hơn khi gắn bó với các lệnh cụ thể của Ubuntu, pg_lscluster, pg_dropcluster và pg_createcluster. Các hàm bao bọc này xử lý tất cả các phần bố trí hệ thống tệp và gọi initdb khi cần thiết. Không phải là bạn không thể sử dụng các lệnh trực tiếp, nhưng tôi đã thấy rất nhiều người gặp phải vấn đề khi họ bỏ qua các phần của cấu hình ub Ubuntu / debian thông thường và sau đó gặp vấn đề khi một số giả định không được đáp ứng. Bạn có một giải pháp đóng gói, tận dụng nó.


1
Đối với phần mềm máy chủ, điều này là hoàn toàn ngược. Tôi quyết định các tệp dữ liệu cơ sở dữ liệu của mình sẽ đi đâu, chứ không phải các gói đóng gói quá nhiệt của Ubuntu. Kiểu vô nghĩa này là Triển lãm A vì chưa từng chạy máy chủ trên Ubuntu.

2
@NoahYetter: kịch bản không ngăn bạn quyết định điều đó; trong thực tế, nó cung cấp cho bạn -dchuyển đổi cho mục đích như vậy. Có rất nhiều điều để nói về Ubuntu, nhưng mặc định lành mạnh không nên là một.
André Paramés

7

http://ubuntuforums.org/showthread.php?t=694887 gợi ý bạn muốn tìm kiếm ở /usr/lib/postgresql/$postgres_version/binnơi bạn cũng nên tìm createdb, creatuser và tương tự, nếu bạn cần chúng.

Thay thế phiên bản postgres của bạn là phù hợp, rõ ràng!

(Như một mẹo chung hơn: locate initdbcó thể sẽ cung cấp cho bạn câu trả lời. Tuy nhiên, tôi không cài đặt máy Ubuntu với PG để kiểm tra câu trả lời hoặc thực tế này!)

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.