Atualmente estou enfrentando um problema em um banco de dados postgres. O servidor db é um data warehouse para um software que estamos usando. Para cada inquilino no sistema de software existe um banco de dados no servidor postgres. O software exporta dados em uma programação frequente. Tudo bem.
Para algumas análises, existem algumas visualizações definidas nas tabelas de cada banco de dados (portanto, para cada locatário que temos). Existe uma visão definida como:
SELECT table.id,
...
mul(table.modifier) as "mod",
...
FROM table
GROUP BY id
Reduzi um pouco essa definição para a parte mais interessante. Essa definição funciona para todos os inquilinos atuais. Eu estava criando um novo com um novo banco de dados. Se eu quiser salvar a definição, o pgAdmin continua dizendo: 'ERRO: função mul(precisão dupla) odes não existe LINHA: x mul(...) DICA: Nenhuma função corresponde ao nome e aos tipos de argumento fornecidos. Pode ser necessário adicionar tipo explícito cast'.
Tudo bem. Pesquisei nos bancos de dados antigos para verificar se existe uma função, símbolo ou o que quer que seja chamado de mul. Eu não encontrei nada. Existe alguém aí que pode ajudar?
Deve haver uma função agregada personalizada
mul
definida em seu banco de dados antigo. Usando opsql
cliente, você pode encontrar a agregação comPara obter a definição do agregado (e suas funções dependentes), você pode usar apenas um esquema
pg_dump
do banco de dados antigo. As definições estão em algum lugar aí.