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

Không tìm thấy ngôn ngữ thủ tục PostgreSQL C

Có thể bạn đang gặp phải sự thay đổi này trong PostgreSQL 9.2 (trích dẫn các ghi chú phát hành tại đây):

Không còn tên ngôn ngữ thủ tục viết thường cưỡng bức trong CREATEFUNCTION (Robert Haas)

Trong khi số nhận dạng ngôn ngữ chưa được trích dẫn vẫn là chữ thường, chuỗi và số nhận dạng được trích dẫn không còn được viết tắt một cách cưỡng bức nữa. Vì vậy, ví dụ:CHỨC NĂNG exampleCREATE ... LANGUAGE 'C' sẽ không hoạt động nữa; nó phải được viết riêng thành 'c', hoặc tốt hơn là loại bỏ các dấu ngoặc kép.

Nó cũng được phản ánh trong hướng dẫn sử dụng cho CREATE FUNCTION

lang_name

Tên của ngôn ngữ mà hàm được triển khai. Có thể là SQL , C , internal hoặc tên của ngôn ngữ thủ tục do người dùng xác định. Để tương thích ngược, tên có thể được kèm theo dấu ngoặc kép.

Trích dẫn tên ngôn ngữ đã không được khuyến khích kể từ ít nhất là phiên bản 7.3 (có thể lâu hơn), nhưng các thói quen cũ đã chết dần, rõ ràng. Xóa các dấu ngoặc kép xung quanh 'C' khắc phục sự cố, đến:LANGUAGE c hoặc LANGUAGE C .

PL/R chưa sẵn sàng cho PostgreSQL 9.2 về mặt đó, đánh giá từ trang dự án.

Phản hồi từ Joe Conway

Joe Conway đã để lại một câu trả lời đã bị xóa vì nó phải là một bình luận. Tôi dán nó vào đây cho những người không thể xem các câu trả lời đã xóa:

Tôi nhận được thông báo, chỉ là chưa có thời gian để thực hiện một bản phát hành PL / R mới. Hãy tìm nó vào tháng 12, nhưng trong thời gian chờ đợi, cách giải quyết thủ công ở trên khá đơn giản.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách clock_timestamp () hoạt động trong PostgreSQL

  2. Thực hiện các giao dịch trong khi thực hiện một hàm postgreql

  3. Cách lấy Ngày và Giờ hiện tại với Chênh lệch múi giờ trong PostgreSQL

  4. Kiểm tra xem giá trị có tồn tại trong mảng Postgres không

  5. PostgreSQL:Thời gian tạo bảng