Я знаю, что это, вероятно, не тот ответ, который вы ищете, но если в вашем дизайне есть пользователи, решающие имена ваших схем, но вы не доверяете своим пользователям, вам действительно нужно сделать редизайн.То, что ваши пользователи выбирают имя схемы, сродни тому, чтобы просить пользователей выбирать имена классов и функций.
Если вы действительно, действительно хотите это сделать, я бы использовал регулярное выражение, чтобы ограничить что-то вроде 16 алфавитно-цифровымтолько символы, начиная с буквенного символа, после принудительной строчной буквы (/ ^ [az] [a-z0-9] {1,15} $ /).Вам также нужно будет явно отфильтровать «public» как имя схемы, information_schema (если вы также разрешите подчеркивание) и другие имена встроенных схем.
Опять же, я готов поспорить, чтоВы действительно не хотите этого делать, и есть лучший способ решить основную проблему.