Re: Oracle vs. PostgreSQL - a comment
От | Laurenz Albe |
---|---|
Тема | Re: Oracle vs. PostgreSQL - a comment |
Дата | |
Msg-id | 1bf921ede871044a1a43ef9e51039b79c4568db9.camel@cybertec.at обсуждение исходный текст |
Ответ на | Re: Oracle vs. PostgreSQL - a comment (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-general |
On Sun, 2020-06-14 at 09:17 -0400, Bruce Momjian wrote:
On Sat, Jun 13, 2020 at 09:27:25PM -0400, Bruce Momjian wrote:On Sat, Jun 13, 2020 at 05:06:37PM -0500, Ron wrote:On 6/13/20 1:46 PM, Bruce Momjian wrote:On Wed, Jun 3, 2020 at 08:53:45PM +0200, Andreas Joseph Krogh wrote:I agree these are all technical issues, but nevertheless - "implementationdetails", which DBAs don't care about. What's important from a DBA'sperspective is not whether WAL is cluster-wide or database-wide, but whetherit's possible to manage backups/PITR/restores of individual databases in a moreconvenient matter, which other RDBMS-vendors seem to provide.I love PG, have been using it professionally since 6.5, and our company dependson it, but there are things other RDBMS-vendors do better...The bigger issue is that while we _could_ do this, it would add moreproblems and complexity, and ultimately, I think would make thesoftware less usable overall and would be a net-negative. We know of noway to do it without a ton of negatives.How do other RDBMSs do it with ease? (I know it's an architectural issue,but what's the architectural issue?)I don't know.I don't know the details, but I do know the general issues. Othervendors must have sacrificed architectural simplicity, features,reliability, or performance to allow these things. For example, itwouldn't be hard to just make databases another level of container aboveschemas to allow for simple cross-database queries, but we would losethe security isolation of databases (connection control. private systemtables and extensions) to do that. Having per-database WAL causes lossof performance, reliability issues, and architectural complexity. Thoseproblems might be solvable, but you will need to take a hit in one ofthese areas.
One example for what may be difficult:
If you GRANT a permission on a table to a user, you may get an entry in
"pg_catalog.pg_shdepend", which is a global table (it is shared by all
databases).
Now if you want to recover a single database, and you get a WAL entry
for that table, you'd have to "logically decode" that entry to figure
out if it should be applied or not (because it references a certain
database or not).
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
В списке pgsql-general по дате отправления: