Обсуждение: BUG #3363: Unable to load a plugin/library using -c switch to the psql
The following bug has been logged online:
Bug reference: 3363
Logged by: Gurjeet Singh
Email address: singh.gurjeet@gmail.com
PostgreSQL version: 8.3devel
Operating system: Windows
Description: Unable to load a plugin/library using -c switch to the
psql
Details:
The following command fails:
psql postgres test -X -c "load '$libdir/plugins/index_adviser.dll';"
Here, 'test' user (non-superuser) is trying to connect to 'postgres'
database, and wishes to load a plugin as the first step.
But if the same 'load' command is fired by the same user after log-in
using psql, then the command succeeds.
postgres=> load '$libdir/plugins/index_adviser.dll';
NOTICE: IND ADV: Loaded; PID: 1164
LOAD
postgres=>
Re: BUG #3363: Unable to load a plugin/library using -c switch to the psql
От
Douglas Toltzman
Дата:
I've not done what you're doing, so this is just a suggestion. I'm not sure about the Windows shell, but the bash shell will convert $libdir before handing it off to psql. Is it possible that $libdir has a different meaning in psql than it does to the shell? On Jun 5, 2007, at 4:20 PM, Gurjeet Singh wrote: > > The following bug has been logged online: > > Bug reference: 3363 > Logged by: Gurjeet Singh > Email address: singh.gurjeet@gmail.com > PostgreSQL version: 8.3devel > Operating system: Windows > Description: Unable to load a plugin/library using -c switch > to the > psql > Details: > > The following command fails: > > psql postgres test -X -c "load '$libdir/plugins/index_adviser.dll';" > > Here, 'test' user (non-superuser) is trying to connect to > 'postgres' > database, and wishes to load a plugin as the first step. > > But if the same 'load' command is fired by the same user after > log-in > using psql, then the command succeeds. > > postgres=> load '$libdir/plugins/index_adviser.dll'; > NOTICE: IND ADV: Loaded; PID: 1164 > LOAD > postgres=> > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq Douglas Toltzman doug@oakstreetsoftware.com (910) 526-5938
"Gurjeet Singh" <singh.gurjeet@gmail.com> writes:
> The following command fails:
> psql postgres test -X -c "load '$libdir/plugins/index_adviser.dll';"
Define "fails". I get complaints about the arguments being out of
order, which they are ...
> Here, 'test' user (non-superuser) is trying to connect to 'postgres'
> database, and wishes to load a plugin as the first step.
If you think that -c means "run this command and then go into normal
interactive mode", you're wrong anyway.
regards, tom lane
On 6/5/07, Douglas Toltzman <doug@oakstreetsoftware.com> wrote: > > I'm not sure about the Windows shell, but the bash shell will convert > $libdir before handing it off to psql. > I am actually using MinGW, so no I am not using Windows shell but a bash shell compiled for Windows. Yes, it was actually the bash, interpreting the $ symbol in a special way, hence the problem. I tried the following (notice \$ , escaping $ sign ) and now it works... $ psql postgres test -X -c "load '\$libdir/plugins/index_adviser.dll';" NOTICE: IND ADV: Loaded; PID: 4968 LOAD Had I been using the Windows shell, I wouldn't have faced this problem :) Thanks for the pointer.... not a bug Is it possible that $libdir has a different meaning in psql than it does to > the shell? > On Jun 5, 2007, at 4:20 PM, Gurjeet Singh wrote: > > > The following bug has been logged online: > > Bug reference: 3363 > Logged by: Gurjeet Singh > Email address: singh.gurjeet@gmail.com > PostgreSQL version: 8.3devel > Operating system: Windows > Description: Unable to load a plugin/library using -c switch to the > psql > Details: > > The following command fails: > > psql postgres test -X -c "load '$libdir/plugins/index_adviser.dll';" > > Here, 'test' user (non-superuser) is trying to connect to 'postgres' > database, and wishes to load a plugin as the first step. > > But if the same 'load' command is fired by the same user after log-in > using psql, then the command succeeds. > > postgres=3D> load '$libdir/plugins/index_adviser.dll'; > NOTICE: IND ADV: Loaded; PID: 1164 > LOAD > postgres=3D> > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq > > > *Douglas Toltzman* > doug@oakstreetsoftware.com > (910) 526-5938 > > > > --=20 gurjeet[.singh]@EnterpriseDB.com singh.gurjeet@{ gmail | hotmail | indiatimes | yahoo }.com 17=B029'34.37"N 78=B030'59.76"E - Hyderabad * 18=B032'57.25"N 73=B056'25.42"E - Pune Sent from my BlackLaptop device
On 6/5/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> "Gurjeet Singh" <singh.gurjeet@gmail.com> writes:
> > The following command fails:
>
> > psql postgres test -X -c "load '$libdir/plugins/index_adviser.dll';"
>
> Define "fails". I get complaints about the arguments being out of
> order, which they are ...
(this bug is solved (not a bug) ; please refer my last mail)
I am sorry, I didn't post the error messsage; here it goes.
ERROR: access to library "/plugins/index_adviser.dll" is not allowed
> Here, 'test' user (non-superuser) is trying to connect to 'postgres'
> > database, and wishes to load a plugin as the first step.
>
> If you think that -c means "run this command and then go into normal
> interactive mode", you're wrong anyway.
No, I do not wish to do that (I use the .psqlrc for that purpose); this is
the first command in a sequence of commands that I want psql to execute and
exit.
--=20
gurjeet[.singh]@EnterpriseDB.com
singh.gurjeet@{ gmail | hotmail | indiatimes | yahoo }.com
17=B029'34.37"N 78=B030'59.76"E - Hyderabad *
18=B032'57.25"N 73=B056'25.42"E - Pune
Sent from my BlackLaptop device