Thread: init script or procedure

init script or procedure

From
"Gauthier, Dave"
Date:

Does PG support the use of an init script or procedure?  I'm looking for something that'll run unconditionally every time someone makes a DB connection.  This script will create a temp table and stuff some data in it for general use within that session. 

 

Thanks in Advance for any help!

Re: init script or procedure

From
Pavel Stehule
Date:
Hello

2011/8/24 Gauthier, Dave <dave.gauthier@intel.com>:
> Does PG support the use of an init script or procedure?  I'm looking for
> something that'll run unconditionally every time someone makes a DB
> connection.  This script will create a temp table and stuff some data in it
> for general use within that session.
>

no, there is nothing similar. You have to call a own procedure after
login explicitly

Regards

Pavel Stehule

>
>
> Thanks in Advance for any help!

Re: init script or procedure

From
Merlin Moncure
Date:
On Wed, Aug 24, 2011 at 9:30 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> Hello
>
> 2011/8/24 Gauthier, Dave <dave.gauthier@intel.com>:
>> Does PG support the use of an init script or procedure?  I'm looking for
>> something that'll run unconditionally every time someone makes a DB
>> connection.  This script will create a temp table and stuff some data in it
>> for general use within that session.
>>
>
> no, there is nothing similar. You have to call a own procedure after
> login explicitly

We could really use this.   It's kinda sorta possible to script SQL on
connection close via C hook through dblink but not on session startup.
It's not always possible for the client know when a backend session is
fired up -- for example in connection pools.

merlin

Re: init script or procedure

From
Pavel Stehule
Date:
2011/8/24 Merlin Moncure <mmoncure@gmail.com>:
> On Wed, Aug 24, 2011 at 9:30 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> Hello
>>
>> 2011/8/24 Gauthier, Dave <dave.gauthier@intel.com>:
>>> Does PG support the use of an init script or procedure?  I'm looking for
>>> something that'll run unconditionally every time someone makes a DB
>>> connection.  This script will create a temp table and stuff some data in it
>>> for general use within that session.
>>>
>>
>> no, there is nothing similar. You have to call a own procedure after
>> login explicitly
>
> We could really use this.   It's kinda sorta possible to script SQL on
> connection close via C hook through dblink but not on session startup.
> It's not always possible for the client know when a backend session is
> fired up -- for example in connection pools.

connection pooling is problem every time. This is not task for server,
but for connection pooling maintainer. Once we used a workaround - on
a start every function we tested if session is well initialized, and
if not, then we called a init function. But it has a problem with
pooling, so we changed to explicitly call a init function.

Regards

Pavel Stehule


>
> merlin
>

Re: init script or procedure

From
Merlin Moncure
Date:
On Wed, Aug 24, 2011 at 9:51 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 2011/8/24 Merlin Moncure <mmoncure@gmail.com>:
>> On Wed, Aug 24, 2011 at 9:30 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>> Hello
>>>
>>> 2011/8/24 Gauthier, Dave <dave.gauthier@intel.com>:
>>>> Does PG support the use of an init script or procedure?  I'm looking for
>>>> something that'll run unconditionally every time someone makes a DB
>>>> connection.  This script will create a temp table and stuff some data in it
>>>> for general use within that session.
>>>>
>>>
>>> no, there is nothing similar. You have to call a own procedure after
>>> login explicitly
>>
>> We could really use this.   It's kinda sorta possible to script SQL on
>> connection close via C hook through dblink but not on session startup.
>> It's not always possible for the client know when a backend session is
>> fired up -- for example in connection pools.

[snip]
> . This is not task for server,

I disagree.  Other databases have them (see
http://msdn.microsoft.com/en-us/library/bb326598.aspx), and they are
highly used and useful.

merlin

Re: init script or procedure

From
Pavel Stehule
Date:
2011/8/24 Merlin Moncure <mmoncure@gmail.com>:
> On Wed, Aug 24, 2011 at 9:51 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> 2011/8/24 Merlin Moncure <mmoncure@gmail.com>:
>>> On Wed, Aug 24, 2011 at 9:30 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>>> Hello
>>>>
>>>> 2011/8/24 Gauthier, Dave <dave.gauthier@intel.com>:
>>>>> Does PG support the use of an init script or procedure?  I'm looking for
>>>>> something that'll run unconditionally every time someone makes a DB
>>>>> connection.  This script will create a temp table and stuff some data in it
>>>>> for general use within that session.
>>>>>
>>>>
>>>> no, there is nothing similar. You have to call a own procedure after
>>>> login explicitly
>>>
>>> We could really use this.   It's kinda sorta possible to script SQL on
>>> connection close via C hook through dblink but not on session startup.
>>> It's not always possible for the client know when a backend session is
>>> fired up -- for example in connection pools.
>
> [snip]
>> . This is not task for server,
>
> I disagree.  Other databases have them (see
> http://msdn.microsoft.com/en-us/library/bb326598.aspx), and they are
> highly used and useful.

other databases has own integrated connection pooling

I am not absolutely against - but we need a integrated pool before

Pavel


>
> merlin
>

Re: init script or procedure

From
Merlin Moncure
Date:
On Wed, Aug 24, 2011 at 10:06 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> [snip]
>>> . This is not task for server,
>>
>> I disagree.  Other databases have them (see
>> http://msdn.microsoft.com/en-us/library/bb326598.aspx), and they are
>> highly used and useful.
>
> other databases has own integrated connection pooling
>
> I am not absolutely against - but we need a integrated pool before

not to argue the point, but connection pooling is only one reason of
many why you would want a logon trigger, and integrated connection
pooling is not a prerequisite for them being implemented IMO.  Login
triggers are useful any time the client code is not completely under
your control, for example when logging in with psql/pgadmin or any
time really when the actionable item is required from the servers'
point of view.

merlin

Re: init script or procedure

From
andreas@a-kretschmer.de
Date:
No, that's not possible.

Zitat von "Gauthier, Dave" <dave.gauthier@intel.com>:

> Does PG support the use of an init script or procedure?  I'm looking
> for something that'll run unconditionally every time someone makes a
> DB connection.  This script will create a temp table and stuff some
> data in it for general use within that session.
>
> Thanks in Advance for any help!
>