В документации указано, что \s является пробелом, а \S не является пробелом. До сих пор ничего нового для пользователей регулярных выражений.
Но давайте проверим некоторые возвращаемые значения:
SELECT SUBSTRING('abc a c' FROM 'a\\sc');
'a c'
SELECT SUBSTRING('abc a c' FROM 'a[\\s]c'); -- Note the character class
'a c'
SELECT SUBSTRING('abc a c' FROM 'a\\Sc');
'abc'
SELECT SUBSTRING('abc a c' FROM 'a[\\S]c'); -- Note the character class
ERROR: invalid regular expression: invalid escape \ sequence
Итак, похоже, \s можно использовать в классе символов, а \S не может. Почему?