OT: Apache::Session::DBI vs postgresql? --help

From: will trillich <will(at)serensoft(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: OT: Apache::Session::DBI vs postgresql? --help
Date: 2001-06-15 14:06:23
Message-ID: 20010615090623.A11719@serensoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

LONG VERSION:

having burned the manpages into my eyelids, and coming up short,
i though i'd bug the community at large with this--surely
someone listening here is using apache with postgres to do some
handy user-tracking...?

man Apache::Session::DBI

refers me to

man Apache::Session::DBIStore

which says

To use this module, you will need these columns in a table
called 'sessions':

id char(16)
length int(11)
a_session text

which might be ducky for mysql, but on postgresql (7.0.3 anyhow)
"length" is illegal as a field name.

i then manage to run across

man Apache::Session::Store::Postgres

which says

To use this module, you will need at least these columns
in a table called 'sessions':

id char(32) # or however long your session IDs are.
a_session text # This has an ~8 KB limit :(

and then

man Apache::Session::Postgres

tells me to try

use Apache::Session::Postgres;

#if you want Apache::Session to open new DB handles:

tie %hash, 'Apache::Session::Postgres', $id, {
DataSource => 'dbi:Pg:dbname=sessions',
UserName => $db_user,
Password => $db_pass,
Commit => 1
};

which yields only a

Can't locate object method "TIEHASH" via package
"Apache::Session::Postgres" at doomedtofail.pl line 10.

even though Apache::Session::Postgres "@ISA" Apache::Session,
which means it should inherit the TIEHASH method there.

--

(((
if, as an ordinary user, i use "Apache::Session::DBI" i get

Permission denied at /usr/local/lib/site_perl/Apache/Session/SysVSemaphoreLocker.pm line 63.

before anything gets 'tied'; if i try it as root, i get past the
permission problem, but then stumble into

DBD::Pg::st execute failed: ERROR: Unterminated quoted string

the investigation of which shows it's preparing a select
statement that's looking for the unfriendly "length" field --
but i digress.
)))

SHORT VERSION: (the question)

==========================================================
i've not figured out how to get Apache::Session::Postgres
or Apache::Session::Store::Postgres to do their thing --
how does a MOD_PERL script get its hooks into POSTGRES via
Apache::Session::DBI ?
==========================================================

i don't really want to revert to the manual approach:

use Apache::Session::Store::Postgres;
my $store = new Apache::Session::Store::Postgres;
$store->insert($ref);
$store->update($ref);
$store->materialize($ref);
$store->remove($ref);

i'm sure the "tie %hash,'Apache::Session::DBI',undef" form
really does work as documented -- so what'd i miss?

--
I figure: if a man's gonna gamble, may as well do it
without plowing. -- Bama Dillert, "Some Came Running"

will(at)serensoft(dot)com
http://sourceforge.net/projects/newbiedoc -- we need your brain!
http://www.dontUthink.com/ -- your brain needs us!

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2001-06-15 14:42:11 Re: Insert and limit
Previous Message Tim Barnard 2001-06-15 14:04:06 Re: Indexing varchar[]'s