Amir.......
I also have CAS ( Centeral Authentication Service ) in mind for SSO ( Single Sign On ). They also have a phpCAS class that authenticates the users against the CAS server and this way the user won't need to login again in each application as phpCAS will check their ticket to see if they're logged in or not.
It sounds like you've thought this through pretty well, more than you mentioned in your first email!
Combining the users table can be as simple as doing a dump of the tables in the other databases, editing the sql to make up for the slightly differing syntax of table declaration, etc. and inserting them into the new database. The only snag is if you have duplicate user names, but then, if you make the username and unique index, it will create an error when you attempt to load in more than one user name and you can fix that some way.
>Also I have another question : do I need to edit MySQL queries very much in my PHP >applications to interact with a PgSQL or not? Because most of the queries are the same and >maybe very few should be changed ( as far as I know! ).
As Jaun mentioned, if you are using an abstraction layer already that would make it easy. If I recall, the basic difference between a mysql select and a postgreSQL select is that in postgreSQL you need to manually check the row count and then call them out by number, while in mysql you do a fetch_next and it goes until the end, I think.
But that may have changed in later versions of PHP.
Of course, if there are triggers and transactions in the database that will complicate things, but it's not likely in standard mysql.
Others can probably give you advice I haven't thought of. At any rate, ask on the list and you'll get advice! (and with luck it will be good advice!)
later.....
brew