Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Làm Chủ PostgreSQL Extensions Trên ObjectRocket: Quản Trữ Liền Mạch Cho Cơ Sở Dữ Liệu Sản Xuất

Giới Thiệu

Bài viết gốc được xuất bản ngày 13 tháng 2 năm 2020 tại ObjectRocket.com/blog.

Hệ sinh thái PostgreSQL® (Postgres®) extensions cực kỳ mạnh mẽ và cung cấp nhiều khả năng bổ sung cho Postgres.

Làm Chủ PostgreSQL Extensions Trên ObjectRocket: Quản Trữ Liền Mạch Cho Cơ Sở Dữ Liệu Sản Xuất

Chúng tôi muốn cung cấp cho bạn tất cả công cụ cần thiết để vận hành cơ sở dữ liệu sản xuất trên nền tảng ObjectRocket, nên chúng tôi gần đây đã thêm khả năng sử dụng extensions. Các extension đóng vai trò như plug-in và cung cấp chức năng và tính năng bổ sung.

Xem Các Extension Có Sẵn

Chúng tôi bao gồm một số extension cho instance Postgres của mình, và chúng tôi đã bao phủ các plug-in phổ biến và được yêu cầu nhất. Để xem danh sách các plug-in được hỗ trợ, kết nối đến instance chạy trên dịch vụ của chúng tôi và sử dụng các truy vấn sau:

  • SELECT * FROM pg_available_extensions;: Hiển thị danh sách siêu lớn tất cả extension trong thư mục postgres extensions.

  • SHOW extwlist.extensions;: Hiển thị các extension được phép trên dịch vụ của chúng tôi.

Vì gói Postgres bao gồm một số extension mặc định mà chúng tôi không cung cấp quyền truy cập người dùng, hai danh sách khác nhau một chút. Nếu bạn cần extension không có trong whitelist hoặc không có sẵn, bạn có thể làm việc với đội ngũ Hỗ trợ để thêm nó vào nền tảng.

Vì chúng tôi thường xuyên thêm extension, chạy truy vấn luôn cung cấp danh sách cập nhật nhất. Dưới đây là danh sách hiện tại của cả extension có sẵn và được phép trên dịch vụ ObjectRocket:

Làm Chủ PostgreSQL Extensions Trên ObjectRocket: Quản Trữ Liền Mạch Cho Cơ Sở Dữ Liệu Sản Xuất Làm Chủ PostgreSQL Extensions Trên ObjectRocket: Quản Trữ Liền Mạch Cho Cơ Sở Dữ Liệu Sản Xuất

Tải Extension

Tải extension trên dịch vụ hoạt động giống như bình thường trong Postgres. Bạn thực hiện lệnh CREATE EXTENSION trong cơ sở dữ liệu mà bạn muốn thêm chức năng.

Dưới đây là ví dụ đơn giản. Extension uuid-ossp cung cấp tiện ích quản lý UUID. Hình sau minh họa cố gắng sử dụng hàm uuid_generate_v1():

Làm Chủ PostgreSQL Extensions Trên ObjectRocket: Quản Trữ Liền Mạch Cho Cơ Sở Dữ Liệu Sản Xuất

Như bạn thấy, hàm thất bại ban đầu vì chúng ta chưa tải extension. Tuy nhiên, sau khi tải extension uuid-ossp và thử lại cùng hàm, nó trả về UUID cho chúng ta.

Lại nói, đây là ví dụ rất đơn giản. Extension có thể làm nhiều hơn, nhưng bạn có thể thấy cơ chế cơ bản.

Lưu ý rằng extension chỉ hoạt động hoặc có thể sử dụng trong các cơ sở dữ liệu bạn tải chúng vào. Nói cách khác, mỗi khi bạn tạo cơ sở dữ liệu mới, bạn cần chạy CREATE EXTENSION trong cơ sở dữ liệu đó. Nếu bạn muốn extension có sẵn trong cơ sở dữ liệu mới tự động, bạn cần tạo template cơ sở dữ liệu mới và sử dụng nó khi tạo cơ sở dữ liệu mới, hoặc cập nhật cơ sở dữ liệu template1 để bao gồm extension đó. Mặc định, tất cả cơ sở dữ liệu mới là bản sao của template1.

Hãy tận hưởng các extension mới, và cho chúng tôi biết nếu bạn muốn chúng tôi thêm chức năng cụ thể.