Seu espaço reservado é substituído por uma string e você não está lidando com isso corretamente.
Substituir
"name LIKE '%?%' OR postal_code LIKE '%?%'", search, search
com
"name LIKE ? OR postal_code LIKE ?", "%#{search}%", "%#{search}%"
"name LIKE '%?%' OR postal_code LIKE '%?%'", search, search
"name LIKE ? OR postal_code LIKE ?", "%#{search}%", "%#{search}%"
O que é STATISTICS TIME no SQL Server?
Usando DMV (Exibição de gerenciamento dinâmico) e DMF (Função de gerenciamento dinâmico) | Solução de problemas de desempenho do SQL Server -4
Monitoramento de banco de dados PostgreSQL:dicas sobre o que monitorar
Pesquisa de string curinga do Trigram no SQL Server