mlwmohawk wrote:
On Friday 21 December 2001 04:36 am, Yasuo Ohgaki wrote:
Hi all,
This is the last notice before PostgreSQL session save handler
module commit.
I've renamed it to session_pgsql so that users will understand
it's a sub module for session module.
I've also changed Makefile.in so that php_session.h is installed.
Other headers will be installed. If you care, nobody will object
to change it(?)
_php_find_ps_module() call should be moved to avoid httpd start
up time error message and make external session save handler to
work correctly. I'll commit the fix also. (It's *not* a real
solution, but it must be addressed now. There are a few bug
reports for this already)
I was thinking about a PostgreSQL session manager. How is that going to work? IMHO PostgreSQL (currently) is completely wrong for such a task.
I'm well aware of the issue you mentioned :)
PostgreSQL has one real behavior problem. Updates act as if you do a delete then an insert, i.e. for transactional isolation, an updated row is added new, and the old one is marked as deleted. Sessions are all about updates, and any really active server cluster will expose PostgreSQL's worst behavior.
I agree. It will slows down thing a *LOT*.
But it's faster than files save handler with proper
administration, I suppose.
After any serious usage, you will need to vacuum the table. In 7.1, that will lock the table and render the system unusable for a few minutes. When 7.2 is released, vacuum will not lock the table, but you have to have it running on a constant basis.
That's true. Users! you *MUST* run vacuum! As we mentioned, db like session will slow things down a *lot* without vacuum!
The only thing I can think of is using the large object interface, and storing the unstructured PHP session data as a large object. It may not be as fast as regular SQL, but that may eliminate the update problem.
I have to check current implementaion of text/bytea type.
It may be as efficient as large object now. (I think it is, isn't it?)
Thanks for pointing it out. :) I might add your suggestion to
my ToDo list.
BTW, users must vacuume constant basis still! Even I make use
of large object.
The benefit of using pgsql session save handler is users can
add more fields to session record as user needs.
User can use standard I/F (i.e. SQL) I think some people
will like it, even if it is not as fast as msession ;)
Besides, PostgreSQL limitations are really large,
it good for DoS attack or keeping session for a long time, too.
--
Yasuo Ohgaki
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com