A substring do PostgreSQL obtém string entre colchetes

Eu tenho uma string, diga:

Product Description [White]

Eu quero extrair qualquer coisa dentro dos colchetes (neste casoWhite) dessa sequência, usando a função Substring do PostgreSQL. Eu posso fazer isso funcionar usandoregexp_matches, mas isso retorna uma matriz que eu não quero, a menos que não tenha outra escolha.

Eu tentei:

substring('string' from '[(.)]') >>> NULLsubstring('string' from '\[(.)\]') >>> NULLsubstring('string' from '\\[(.)\\]') >>> NULL

Mas isso funciona:

substring('string' from 'W(.)i]') >>> h

O que estou fazendo errado?

questionAnswers(2)

yourAnswerToTheQuestion