PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Postgres pl / java cảnh báo

Kể từ khi hết hạn, pl / java của tôi có một số vấn đề chính:

  1. Rất khó để cài đặt nó vào máy chủ postgresql. Ngay cả khi bạn tìm thấy bản dựng nhị phân cho phiên bản postgresql của mình (điều này cũng khó) - nó cần một số cấu hình và đường dẫn thư viện.
  2. Lần gọi đầu tiên đến thủ tục được lưu trữ trên java sẽ dẫn đến một quy trình JVM mới. Các quy trình JVM có phạm vi kết nối và yêu cầu một số lượng bộ nhớ cho java heap, vì vậy nếu bạn sử dụng nhóm kết nối, bạn sẽ có 10-20 JVM được khởi động và hầu hết thời gian không được sử dụng, tiêu tốn RAM máy chủ của bạn
  3. pl / java có thể giao tiếp với cơ sở dữ liệu postgresql bằng cách sử dụng trình điều khiển JDBC tự tạo mô phỏng cách sử dụng JDBC phổ biến, nhưng có một số vấn đề triển khai có thể làm bạn ngạc nhiên. Đặc biệt nếu bạn muốn sử dụng lỗi JDBC hoặc những thứ không phổ biến khác.
  4. ghi nhật ký pl / java khá đặc biệt - đó là do việc triển khai xử lý lỗi nội bộ postgresql. Ví dụ:nếu bạn ghi nhật ký nội dung nào đó bằng api ghi nhật ký java ở cấp nhật ký LỖI - nó sẽ chấm dứt kết nối máy chủ của bạn.
  5. pl / java có hiệu suất xử lý dữ liệu rất tốt so với logic java dựa trên máy chủ ứng dụng, nhưng nó hoàn toàn không thể phân chia tỷ lệ - các thủ tục pl / java hoàn toàn là một luồng - postgresql cấm các thủ tục đa luồng
  6. Nếu bạn sử dụng trình điều khiển JDBC nội bộ và câu lệnh SQL của bạn có lỗi - bạn sẽ nhận được thông báo lỗi khó hiểu trong nhật ký postgresql - hoàn toàn không liên quan đến vấn đề thực sự.

Kết quả là - bạn có thể sử dụng các thủ tục pl / java với một số thành công nhưng bạn cần thực hiện nó rất cẩn thận và có thể bạn cần suy nghĩ về việc cải thiện thiết kế ứng dụng của mình.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình tự mới được chỉ định không hoạt động

  2. PostgreSQL:truyền chuỗi thành ngày DD / MM / YYYY

  3. Django cache.set () gây ra lỗi khóa trùng lặp

  4. Làm cách nào để hợp nhất các cột từ hai bảng thành một đầu ra?

  5. Chèn vào SQL postgres