Используйте функцию Identifier()
только для идентификаторов Postgres (т.е. имен таблицы, столбца, представления, функции и т. Д.). Таким образом, вы можете использовать это следующим образом:
sql = ps_sql.SQL("select {}('TEST',1,2)").format(ps_sql.Identifier("substring"))
На самом деле, в данном конкретном случае идентификатор substring
не нуждается в кавычках (потому что он в нижнем регистре):
sql = ps_sql.SQL("select substring('TEST',1,2)")