Em 12/11/2010 11:41, Euler Taveira de Oliveira escreveu:
André Ormenese (particular) escreveu:
relarr_lookup_rel (ctx=0x7fffffffdb40, rel_arr=0x448,
      nspname=0x800b45000 "pg_catalog", relname=0x800b45040
"pg_largeobject",
      whichCluster=CLUSTER_OLD) at info.c:428
428             for (relnum = 0; relnum<  rel_arr->nrels; relnum++)
(gdb) p rel_arr->nrels
Error accessing memory address 0x450: Bad address.
(gdb) p rel_arr->rels->reloid
Error accessing memory address 0x448: Bad address.

Este erro é muito estranho. relnum é realmente zero?

(gdb) p relnum

Veja se o patch [1] resolve o seu problema.

Esta base está corrompida? Você consegue fazer uma consulta em pg_largeobject
neste banco de dados?


[1]
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=71baff1786e0c50b514745c64c4b0947b64bf9d0;hp=9f376e146b2f1fe1bc4d07380f2a047d5c375581


Estou fazendo alguns testes ainda, e uma doc sobre o problema, mas com relação ao patch achei muito estranho uma situação.

No arquivo controldata.c da minha máquina a função putenv2 recebe 3 parametros ao invés de dois como diz a própria documentação, veja :

/*
 *      putenv2()
 *
 *      This is like putenv(), *but takes two arguments*.
 *      It also does unsetenv() if val is NULL.
 */
static void
putenv2(*migratorContext *ctx, const char *var, const char *val*)
{
        if (val)
        {
#ifndef WIN32
                char       *envstr = (char *) pg_malloc(ctx, strlen(var) +
                                                                                
                strlen(val) + 1);

                sprintf(envstr, "%s=%s", var, val);
                putenv(envstr);
                /*
* Do not free envstr because it becomes part of the environment * on some operating systems. See port/unsetenv.c::unsetenv.
                 */
#else
                SetEnvironmentVariableA(var, val);
#endif
        }
        else
        {
#ifndef WIN32
                unsetenv(var);
#else
                SetEnvironmentVariableA(var, "");
#endif

Não sei se esta função é usada na execução do pg_upgrade aqui p/ o meu banco, mas é bem estranho.
Seria melhor baixar os fontes novamente e reinstalar a versão 9.01 ??

Depois passo as outras informações que vc pediu !!!


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a