@@ -83,7 +83,7 @@ class PostgresDatabaseReader implements DatabaseReader {
8383 def tables = fillTables(objectName)
8484 fillColumns(tables, objectName)
8585 fillIndexes(tables, objectName, databaseVersion)
86- fillCostraints(tables, objectName)
86+ fillCostraints(tables, objectName, databaseVersion )
8787 fillCostraintsColumns(tables, objectName)
8888 return tables
8989 }
@@ -329,7 +329,7 @@ class PostgresDatabaseReader implements DatabaseReader {
329329 order by tc.table_name, tc.constraint_type, tc.constraint_name
330330 '''
331331
332- private def fillCostraints (tables , objectName ) {
332+ private def fillCostraints (tables , objectName , databaseVersion ) {
333333 def rows
334334 if (objectName) {
335335 rows = sql. rows(CONSTRAINTS_QUERY_BY_NAME , [objectName])
@@ -351,7 +351,11 @@ class PostgresDatabaseReader implements DatabaseReader {
351351 constraint. status = status
352352 if (constraint. type == ' C' ) {
353353 constraint. refTable = null
354- constraint. searchCondition = it. check_clause[2 .. -3 ]
354+ if (databaseVersion && Float . parseFloat(databaseVersion) >= 17 ) {
355+ constraint. searchCondition = it. check_clause[1 .. -2 ]
356+ } else {
357+ constraint. searchCondition = it. check_clause[2 .. -3 ]
358+ }
355359 }
356360
357361 table. constraints[constraint. name] = constraint
0 commit comments