Thread: 7.1 -> 7.3 migration timestamp problem

7.1 -> 7.3 migration timestamp problem

From
Joe Slag
Date:
System Configuration
---------------------
  Architecture (example: Intel Pentium)     : pIII

  Operating System (example: Linux 2.0.26 ELF)  : OpenBSD 3.2

  PostgreSQL version (example: PostgreSQL-7.3.2):   PostgreSQL-7.3.2

  Compiler used (example:  gcc 2.95.2)      : 2.95.3


Please enter a FULL description of your problem:
------------------------------------------------
Migrated from 7.1.3 to 7.3.2 by running 7.3.2's pg_dumpall on existing=20
databases, running initdb on a new data directory, starting up the new data=
=20
with the new pg binary, and running the addepends script in the contrib=20
directory.

Everything works, except inserting or updating on tables with timestamps.
Trying to do so from psql produces this:

redes=3D# update admin set email=3D'flake' where admin_id =3D 1;
FATAL:  Pre-7.3 object file made an elog() call.  Recompile.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.

The table for this example looks like this:

redes=3D# \d admin
                                         Table "public.admin"
   Column    |           Type           |                          Modifier=
s=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20
-------------+--------------------------+----------------------------------=
---------------------------
 admin_id    | integer                  | not null default=20
nextval('public.admin_admin_id_seq'::text)
 email       | text                     | not null
 password    | text                     | not null
 first_name  | text                     |=20
 last_name   | text                     |=20
 create_date | timestamp with time zone |=20
 update_date | timestamp with time zone |=20
Indexes: admin_pkey primary key btree (admin_id),
         admin_email_key unique btree (email)
Triggers: admin_create_tr,
          admin_update_tr


If I create a new table with a timestamp column, everything works just fine=
.=20

Re: 7.1 -> 7.3 migration timestamp problem

From
Tom Lane
Date:
Joe Slag <joe.slag@walkerart.org> writes:
> redes=# update admin set email='flake' where admin_id = 1;
> FATAL:  Pre-7.3 object file made an elog() call.  Recompile.

You've got an out-of-date .so file in there somewhere.  If there are no
user-defined C functions in your database, the likely culprit is
plpgsql.so or pltcl.so or plperl.so, whichever one of those PL languages
you use.  A fairly likely bet is that the .so file is being referenced
by an absolute path that points at the old version's library directory.
Check the pg_proc.probin entry for plpgsql_call_handler, etc.  If you
need to change it, make it read something like "$libdir/plpgsql" so that
you don't get burnt again next time.

            regards, tom lane