Search Postgresql Archives

an enhancement idea

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



one of the reasons PostgreSQL is less popular with shared hosting services is that there is insufficient isolation between database users. For instance, one user leaves a <Idle in TransactioN> pending due to sloppy programming, and the entire cluster eventually can't be vacuumed. There's numerous other places where the isolation between postgres users is insufficient (visibility of information in pg_catalog, for instance).

Also, that other 'big name' commercial database has a concept of a listener, where multiple database 'clusters' can be accessed via the same port.

I have an idea that combines both of these.

We add a new type of "super tablespace" to postgres, we'll call these 'instances' (thats what the Big O calls them, anyways). An instance has its own WAL logging, WAL writer, and its own autovacuum, and is associated with one or more databases. A given user can have a default 'instance' such that any database they create will be in that instance. An instance can optionally contain multiple tablespaces. An instance can contain multiple databases, these databases still have schemas in them.

All users are common to and managed in the root instance. The instances could be associated with either the user, or with the databases, I'm not sure which is more appropriate.

An issue to be resolved: Should each of these 'instances' have its own pg_catalog, or should all instances continue to use the master pg_catalog ?



--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux