Para usar pcregrep
, tente isto:
pcregrep -iM "^[0-9]+.*UPDATE limit.*\n(^[^0-9].*\n){1,}" /var/log/postgresql/postgresql-9.1-main.log
-i é para insensibilidade a maiúsculas e minúsculas; -M é para multilinha;
Você pode alterar a string "UPDATE limit" para outro tipo de consulta que você precisa pesquisar.
Basicamente, o regexp é: encontre todas as linhas que começam com um ou mais dígitos, seguidas por uma string, depois a consulta, seguida por uma string até o final da linha, seguida por 1 ou mais linhas () { 1,} que não começam com dígitos [^ 0-9].
Aqui está um link sobre expressões regulares estendidas.