merge sql error, dbType postgresql
2020-03-02 15:39:08.501 ERROR 267704 --- [ main] c.alibaba.druid.filter.stat.StatFilter : merge sql error, dbType postgresql, druid-1.1.10, sql : create table if not exists ip_count_20200302 partition of ip_count for values from (20200302) to (20200303);
com.alibaba.druid.sql.parser.ParserException: syntax error, error in :‘0302 partition of ip_count ‘, expect IDENTIFIER, actual IDENTIFIER pos 72, line 1, column 63, token IDENTIFIER partition
at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:284) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:426) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:72) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:94) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:77) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:50) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.stat.StatFilter.mergeSql(StatFilter.java:147) [druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.stat.StatFilter.createSqlStat(StatFilter.java:648) [druid-1.1.10.jar:1.1.10]
SQL
#postgre分区 create table if not exists ip_count_20200302 partition of ip_count for values from (20200302) to (20200303);
可能问题:
从druid的issue来看,druid的merge不支持postgresql的 partition字段
解决办法
1.关闭mergeSQL功能
#springboot spring.datasource.druid.filter.stat.merge-sql=false
2.忽略该error虽然报error.但是语句是可以执行成功的,请自行校验