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.