Pravděpodobně narážíte na tuto změnu v PostgreSQL 9.2 (zde citujte poznámky k verzi):
Již ne vynucená malá písmena v názvech procedurálních jazyků v CREATEFUNCTION (Robert Haas)
Zatímco identifikátory jazyka v uvozovkách jsou stále psány malými písmeny, řetězce a identifikátory v uvozovkách již nejsou vynucené. Například CREATE FUNCTION ... LANGUAGE 'C' již nebude fungovat; musí být napsáno 'c', nebo lépe vynechat uvozovky.
Je to také zohledněno v příručce pro CREATE FUNCTION
lang_name
Název jazyka, ve kterém je funkce implementována. Může to být
SQL
,C
,internal
nebo název uživatelem definovaného procedurálního jazyka. Pro zpětnou kompatibilitu může být název uzavřen do jednoduchých uvozovek.
Uvádět název jazyka se nedoporučuje minimálně od verze 7.3 (možná déle), ale staré zvyky samozřejmě těžce umírají. Odstranění uvozovek kolem 'C'
opravuje problém a dorazí na:LANGUAGE c
nebo LANGUAGE C
.
PL/R
nebyl v tomto ohledu připraven na PostgreSQL 9.2, soudě podle stránky projektu.
Zpětná vazba od Joea Conwaye
Joe Conway zanechal odpověď, která byla smazána, protože by to měl být komentář. Vkládám to sem pro širokou veřejnost, která nevidí smazané odpovědi:
Dostal jsem zprávu, jen jsem neměl čas udělat novou verzi PL/R. Hledejte ji do prosince, ale mezitím je ruční řešení uvedené výše docela jednoduché.