Hi there,
Please help me to make a decision on how to manage users.
For some reason it is easier in the project I'm working on to split data
by schemes and assign them to Postgres' users (I mean those created with
CREATE USER) rather than support 'owner' fields referring to a global
users table.
The question is what could be the consequences of having a large number
of them (tens of thousands)?
Context:
- it is a web app
- thousands of concurrent requests from different users
- amount of user's data in the db is relatively small
Concerns:
- how big is the performance/memory penalty on switching users in the
same connection (connections are reused of course)?
- will it hurt the cache?
- are prepared statements kept per user or per connection?
- is the query planner global or somehow tied to users?
I'd be glad to hear any opinions/suggestions.
Best regards,
Mike