Thread: undefined symbol: SPI_plan_get_cached_plan

undefined symbol: SPI_plan_get_cached_plan

From
Roger Niederland
Date:
I am getting the following error when trying to execute a plpgsql funtion:

PSTERROR:  could not load library "/usr/pgsql-9.2/lib/plpgsql.so":
/usr/pgsql-9.2/lib/plpgsql.so: undefined symbol: SPI_plan_get_cached_plan

This is on a SL6.3 system running postgres 9.2.2

We set this server up about a week ago, for migration tests from 9.1 to 9.2
After restarting the postgres service, the error went away.  We've never
encountered this particular error
in any previous postgres versions  (9.1, 9.0, 8.4) with our application.
I did not see any posted comments, regarding this error.

I looked through postgres 9.2.3 release notes but did not see any notes
regarding this issue.

Thanks,
Roger

Re: undefined symbol: SPI_plan_get_cached_plan

From
Tom Lane
Date:
Roger Niederland <roger@niederland.com> writes:
> I am getting the following error when trying to execute a plpgsql funtion:

> PSTERROR:  could not load library "/usr/pgsql-9.2/lib/plpgsql.so":
> /usr/pgsql-9.2/lib/plpgsql.so: undefined symbol: SPI_plan_get_cached_plan

> This is on a SL6.3 system running postgres 9.2.2

SPI_plan_get_cached_plan was added to the backend in 9.2.3.  It looks
like you're trying to use a 9.2.3 plpgsql.so with a 9.2.2 (or older)
server.

> After restarting the postgres service, the error went away.

So you had upgraded, but not actually restarted the server ...
just for future reference, SLES apparently doesn't do a service
restart automatically during package upgrade.

            regards, tom lane

Re: undefined symbol: SPI_plan_get_cached_plan

From
Devrim GÜNDÜZ
Date:
Hi,

On Mon, 2013-02-11 at 09:47 -0500, Tom Lane wrote:
> > After restarting the postgres service, the error went away.
>
> So you had upgraded, but not actually restarted the server ...
> just for future reference, SLES apparently doesn't do a service
> restart automatically during package upgrade.

I think Roger is referring to Scientific Linux with SL, and my packages.
I don't see any reason why package updates don't restart themselves,
unless they are installed without running post scripts...

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org  Twitter: http://twitter.com/devrimgunduz

Re: undefined symbol: SPI_plan_get_cached_plan

From
Roger Niederland
Date:
On 2/11/2013 6:47 AM, Tom Lane wrote:
> Roger Niederland <roger@niederland.com> writes:
>> I am getting the following error when trying to execute a plpgsql funtion:
>> PSTERROR:  could not load library "/usr/pgsql-9.2/lib/plpgsql.so":
>> /usr/pgsql-9.2/lib/plpgsql.so: undefined symbol: SPI_plan_get_cached_plan
>> This is on a SL6.3 system running postgres 9.2.2
> SPI_plan_get_cached_plan was added to the backend in 9.2.3.  It looks
> like you're trying to use a 9.2.3 plpgsql.so with a 9.2.2 (or older)
> server.
>
>> After restarting the postgres service, the error went away.
> So you had upgraded, but not actually restarted the server ...
> just for future reference, SLES apparently doesn't do a service
> restart automatically during package upgrade.
>
>             regards, tom lane
>
The system was running Postgres 9.2.2 on Scientific Linux 6.3. Postgres
was not
upgraded, Last night I simply restarted the Postgres 9.2.2 service to
eliminate the undefined symbol issue.

This morning I upgraded the Postgres to 9.2.3, have not had this issue
reoccur.

Roger

Re: undefined symbol: SPI_plan_get_cached_plan

From
Pavel Stehule
Date:
2013/2/11 Roger Niederland <roger@niederland.com>:
>
> On 2/11/2013 6:47 AM, Tom Lane wrote:
>>
>> Roger Niederland <roger@niederland.com> writes:
>>>
>>> I am getting the following error when trying to execute a plpgsql
>>> funtion:
>>> PSTERROR:  could not load library "/usr/pgsql-9.2/lib/plpgsql.so":
>>> /usr/pgsql-9.2/lib/plpgsql.so: undefined symbol: SPI_plan_get_cached_plan
>>> This is on a SL6.3 system running postgres 9.2.2
>>
>> SPI_plan_get_cached_plan was added to the backend in 9.2.3.  It looks
>> like you're trying to use a 9.2.3 plpgsql.so with a 9.2.2 (or older)
>> server.
>>
>>> After restarting the postgres service, the error went away.
>>
>> So you had upgraded, but not actually restarted the server ...
>> just for future reference, SLES apparently doesn't do a service
>> restart automatically during package upgrade.
>>
>>                         regards, tom lane
>>
> The system was running Postgres 9.2.2 on Scientific Linux 6.3. Postgres was
> not
> upgraded, Last night I simply restarted the Postgres 9.2.2 service to
> eliminate the undefined symbol issue.
>
> This morning I upgraded the Postgres to 9.2.3, have not had this issue
> reoccur.

yes, it is expected - files was updated, but only using PL/pgSQL needs restart

Regards

Pavel

>
> Roger
>
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general