Re: session_pgsql module commit notice

From: Date: Sat, 22 Dec 2001 03:45:50 +0000
Subject: Re: session_pgsql module commit notice
References: 1 2  Groups: php.dev php.pear.dev 
Request: Send a blank email to php-dev+get-74767@lists.php.net to get a copy of this message
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

Thread (7 messages)

« previous php.dev (#74767) next »