2011-06-23 20 views

Trả lời

6

Câu trả lời ngắn: yes

Long trả lời:

Bạn không nói rõ hệ điều hành của bạn, vì vậy rất khó để nói như thế nào để làm điều đó. Ví dụ trong Debian/Ubuntu bạn chỉ có thể cài đặt phiên bản thứ hai từ gói (postgresql-8.4postgresql-9.0) và mọi thứ hoạt động ra khỏi hộp (nhờ postgresql-common). Trên các hệ thống khác, bạn có thể cần phải thực hiện thủ công bằng các lệnh "cấp thấp" như initdbpg_ctl. Hãy chắc chắn rằng cài đặt thứ hai (cụm cơ sở dữ liệu) sử dụng cổng khác nhau (ví dụ 5433) và không cùng một thư mục dữ liệu.

+0

Có cách nào để thực hiện và sử dụng cùng một thư mục dữ liệu không? – sudo

0

có, bạn chỉ cần đặt các giám đốc dữ liệu ở các vị trí khác nhau.

0

Có thể. Bạn sẽ cần phải chạy chúng trên các cổng khác nhau và sử dụng các thư mục dữ liệu khác nhau.

Thư mục cổng và dữ liệu đều có thể được đặt trong postgresql.conf.

Tôi có một số cách khác để chỉ định thư mục dữ liệu bao gồm sử dụng biến môi trường PGDATA.

2

Có, miễn là ba điều kiện tiên quyết sau đây được thỏa mãn:

  1. PostgreSQL đang lắng nghe trên một độc đáo IP/port (kiểm tra pgbouncer và có lẽ bạn có thể ẩn cả hai bản sao của PostgreSQL đằng sau một IP/cổng duy nhất và giảm bộ nhớ của bạn bằng cách giảm số lượng kết nối hoạt động)
  2. Bạn có đủ bộ nhớ chia sẻ SYSV (đây thường là yếu tố hạn chế)
  3. Bạn sử dụng các thư mục PGDATA khác nhau.

Tôi không thể khuyên bạn sử dụng pgbouncer đủ.

+2

Bộ nhớ chia sẻ SYSV không thực sự là một yếu tố hạn chế, bạn chỉ cần đảm bảo rằng bạn cập nhật các tham số hạt nhân có liên quan (chủ yếu là SHMMAX) thành các giá trị hợp lý hơn mặc định nhỏ bé của chúng. –

+0

Tuyệt đối! Mặc dù đó là kinh nghiệm của tôi mà các quản trị viên hệ thống nhút nhát có khuynh hướng lúng túng xung quanh một số TLA, đáng chú ý là 'shm *', 'ipc *' và 'sysv *'. : ~] Một mức giá nhỏ để trả tiền cho khiếp sợ. – Sean

2

Trên Windows, bạn không cần phải làm gì vì trình cài đặt tự động tạo thư mục dữ liệu duy nhất và phát hiện cài đặt hiện có và điều chỉnh các cổng tự động.

Ví dụ - cài đặt đầu tiên của bạn sẽ nghe trên 5432 và cài đặt thứ hai của bạn sẽ nghe trên 5433, vì trình cài đặt cấu hình cho bạn.

1

Bạn luôn có thể đặt câu hỏi là sẽ khó cài đặt hai phiên bản cùng một lúc và điều đó tùy thuộc vào hệ điều hành của bạn. Trên các hệ thống có nguồn gốc từ RedHat Linux, điều này rất khó thực hiện. Các gói RPM PostgreSQL chỉ nhằm mục đích cài đặt một phiên bản bất kỳ lúc nào. Đôi khi cách hợp lý nhất để tiến hành là xây dựng PostgreSQL của riêng bạn từ nguồn cho phiên bản thứ hai mà bạn muốn cài đặt, đây là một cuộc phiêu lưu thú vị nếu bạn chưa bao giờ thực hiện nó trước đây.

Trên Debian Linux, hai phiên bản cùng một lúc là khá dễ dàng. Tôi tin rằng nó đơn giản trên Windows, nhưng nó có thể phụ thuộc vào trình cài đặt bạn đang sử dụng.

Khi bạn nhận được hai phiên bản khác nhau của cơ sở dữ liệu được cài đặt, chỉ sau đó bạn phải lo lắng về những điều mà mọi người khác đang nói đến: làm cho mỗi cơ sở dữ liệu chạy trên cổng riêng và có thư mục cài đặt riêng. Những điều này thường nhỏ so với công việc cần thiết để có được hai phiên bản được cài đặt cùng một lúc.

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