PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bahasa prosedural PostgreSQL C tidak ditemukan

Anda mungkin mengalami perubahan ini di PostgreSQL 9.2 (mengutip catatan rilis di sini):

Tidak ada lagi nama bahasa prosedural huruf kecil secara paksa di CREATEFUNCTION (Robert Haas)

Sementara pengidentifikasi bahasa yang tidak dikutip masih dalam huruf kecil, string dan pengenal yang dikutip tidak lagi diturunkan secara paksa. Jadi misalnya CREATE FUNCTION ... LANGUAGE 'C' tidak akan berfungsi lagi; harus dieja 'c', atau lebih baik hilangkan tanda kutip.

Ini juga tercermin dalam manual untuk CREATE FUNCTION

lang_name

Nama bahasa tempat fungsi tersebut diimplementasikan. Dapat berupa SQL , C , internal , atau nama bahasa prosedural yang ditentukan pengguna. Untuk kompatibilitas mundur, nama dapat diapit oleh tanda kutip tunggal.

Mengutip nama bahasa telah dilarang sejak setidaknya versi 7.3 (mungkin lebih lama), tetapi kebiasaan lama sulit dihilangkan. Menghapus tanda kutip di sekitar 'C' memperbaiki masalah, tiba di:LANGUAGE c atau LANGUAGE C .

PL/R belum siap untuk PostgreSQL 9.2 dalam hal itu, dilihat dari halaman proyek.

Umpan Balik dari Joe Conway

Joe Conway meninggalkan jawaban yang dihapus karena itu harus berupa komentar. Saya menempelkannya di sini untuk masyarakat umum yang tidak dapat melihat jawaban yang dihapus:

Saya menerima pesannya, hanya belum punya waktu untuk melakukan rilis PL/R baru. Cari sebelum Desember, tetapi sementara itu solusi manual yang disebutkan di atas cukup sederhana.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.ClassNotFoundException:org.postgresql.Driver

  2. Pencarian teks lengkap sejak PostgreSQL 8.3

  3. Menerapkan Pengaturan Multi-Datacenter untuk PostgreSQL - Bagian Kedua

  4. Bagaimana statement_timestamp() Bekerja di PostgreSQL

  5. Pilih kueri dengan batas offset terlalu lambat