Du løber sandsynligvis ind i denne ændring i PostgreSQL 9.2 (citer udgivelsesbemærkningerne her):
Ikke længere tvangsmæssige små proceduresprogsnavne i CREATEFUNCTION (Robert Haas)
Mens sprogidentifikatorer uden anførselstegn stadig er med små bogstaver, nedskrives strenge og identifikatorer med citater ikke længere med magt. Således vil for eksempel CREATE FUNCTION ... LANGUAGE 'C' ikke længere virke; det skal staves 'c', eller bedre udelade anførselstegnene.
Det er også afspejlet i manualen til CREATE FUNCTION
lang_navn
Navnet på det sprog, som funktionen er implementeret i. Kan være SQL
, C
, internal
, eller navnet på et brugerdefineret proceduresprog. For bagudkompatibilitet kan navnet være omgivet af enkelte anførselstegn.
At citere sprognavnet er blevet frarådet siden i det mindste version 7.3 (måske længere), men gamle vaner dør naturligvis hårdt. Fjernelse af anførselstegn omkring 'C'
løser problemet og ankommer til:LANGUAGE c
eller LANGUAGE C
.
PL/R
var ikke klar til PostgreSQL 9.2 i den henseende, at dømme ud fra projektsiden.
Feedback fra Joe Conway
Joe Conway efterlod et svar, der blev slettet, fordi det skulle være en kommentar. Jeg indsætter det her for den brede offentlighed, der ikke kan se slettede svar:
Jeg fik beskeden, har bare ikke haft tid til at lave en ny PL/R-udgivelse. Se efter den inden december, men i mellemtiden er den manuelle løsning, der er nævnt ovenfor, ret enkel.