Re: Using current_database() in a grant
От | Tom Lane |
---|---|
Тема | Re: Using current_database() in a grant |
Дата | |
Msg-id | 13193.1035135421@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Using current_database() in a grant (Bruno Wolff III <bruno@wolff.to>) |
Список | pgsql-general |
Bruno Wolff III <bruno@wolff.to> writes: > area=# grant create on database current_database() to bruno; > ERROR: parser: parse error at or near "(" at character 42 GRANT, like essentially all other utility statements, only allows simple names and literal constants in its parameters. I'm not excited about trying to generalize that to arbitrary expressions (or even just function calls), for a couple of reasons: * probable syntax problems (shift/reduce conflicts), which could only be resolved by turning lots more keywords into fully-reserved words. The syntax of the utility commands is pretty irregular and involves lots of keywords that don't presently have to be reserved because they're not keywords when used in or near expressions. We'd lose that separation if we allowed expressions in the utility commands. * implementation problems and definitional problems in allowing arbitrary user-defined code to run while a utility command is executed. You can do what you want to do easily enough with a plpgsql function containing an EXECUTE command, so I don't see the need to try to implement it at a lower level ... regards, tom lane
В списке pgsql-general по дате отправления: