PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Nie znaleziono języka proceduralnego C PostgreSQL

Prawdopodobnie napotykasz tę zmianę w PostgreSQL 9.2 (cytując informacje o wydaniu tutaj):

W CREAFEFUNCTION (Robert Haas) nie ma już przymusowo małych liter w nazwach języków proceduralnych

Podczas gdy identyfikatory języka bez cudzysłowów są nadal pisane małymi literami, ciągi i identyfikatory w cudzysłowie nie są już na siłę zmniejszane. Na przykład CREATE FUNCTION ... LANGUAGE 'C' nie będzie już działać; musi być napisane „c” lub lepiej pominąć cudzysłowy.

Jest to również odzwierciedlone w instrukcji CREATE FUNCTION

nazwa_języka

Nazwa języka, w którym funkcja jest zaimplementowana. Może być SQL , C , internal lub nazwę języka proceduralnego zdefiniowanego przez użytkownika. W celu zapewnienia zgodności z poprzednimi wersjami nazwa może być ujęta w pojedyncze cudzysłowy.

Cytowanie nazwy języka jest odradzane co najmniej od wersji 7.3 (może i dłużej), ale oczywiście stare nawyki umierają ciężko. Usuwanie cudzysłowów wokół 'C' rozwiązuje problem, docierając do:LANGUAGE c lub LANGUAGE C .

PL/R nie był gotowy na PostgreSQL 9.2 pod tym względem, sądząc po stronie projektu.

Opinia od Joe Conwaya

Joe Conway zostawił odpowiedź, która została usunięta, ponieważ powinien to być komentarz. Wklejam go tutaj dla ogółu społeczeństwa, które nie widzą usuniętych odpowiedzi:

Otrzymałem wiadomość, po prostu nie miałem czasu na wydanie nowej wersji PL/R. Poszukaj jej do grudnia, ale w międzyczasie ręczne obejście opisane powyżej jest całkiem proste.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekazać hasło do pg_dump?

  2. Wybierz typ danych pola w postgresie

  3. Wysoka dostępność PostgreSQL dzięki architekturze Master-Slave i Master-Master

  4. Jak zaimportować zrzut Heroku PG na komputer lokalny?

  5. Dodanie kolumny jako klucza obcego powoduje, że kolumna ERROR, do której odwołuje się ograniczenie klucza obcego, nie istnieje