diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml index 44d14c0ba72..10d1533d6d8 100644 --- a/doc/src/sgml/ref/create_language.sgml +++ b/doc/src/sgml/ref/create_language.sgml @@ -110,11 +110,6 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE namename - The name of an existing procedural language. For backward - compatibility, the name can be enclosed by single quotes. + The name of an existing procedural language. diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 6797d550cd0..0f0f7a328b7 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -4346,7 +4346,7 @@ NumericOnly_list: NumericOnly { $$ = list_make1($1); } *****************************************************************************/ CreatePLangStmt: - CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst + CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name { /* * We now interpret parameterless CREATE LANGUAGE as @@ -4361,7 +4361,7 @@ CreatePLangStmt: n->options = NIL; $$ = (Node *)n; } - | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst + | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator { CreatePLangStmt *n = makeNode(CreatePLangStmt); @@ -4405,7 +4405,7 @@ opt_validator: ; DropPLangStmt: - DROP opt_procedural LANGUAGE NonReservedWord_or_Sconst opt_drop_behavior + DROP opt_procedural LANGUAGE name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->removeType = OBJECT_LANGUAGE; @@ -4415,7 +4415,7 @@ DropPLangStmt: n->concurrent = false; $$ = (Node *)n; } - | DROP opt_procedural LANGUAGE IF_P EXISTS NonReservedWord_or_Sconst opt_drop_behavior + | DROP opt_procedural LANGUAGE IF_P EXISTS name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->removeType = OBJECT_LANGUAGE;