From: | Ron Johnson <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: MVCC and all that... |
Date: | 2025-09-10 01:11:33 |
Message-ID: | CANzqJaBvw-CAFyE+v2c91PBQazO0Y7sTP8gxqQh6XKDVv=8y+Q@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Sep 9, 2025 at 8:41 PM Justin <zzzzz(dot)graf(at)gmail(dot)com> wrote:
> I read through the article its click bait/flame war just waiting to happen.
>
> Article is a list of cherry picked PG drawbacks that can be mitigated or
> worked around.
>
> On the bulk updating. I'm shaking my finger at any one that locks up 25%
> of a table with an update or delete. That is asking for problems in a
> production database with a high TPS rate.
>
> The author brings up threaded vs multi-process. That's an old old old old
> old conversation that has been shown there is no clear better way.
>
> Number of open connections. so firebird can do 1000 open sessions with a
> smaller memory footprint, still can not have 1000 simultaneous running
> sessions unless we have 1000 CPU's. Where is the win here?? We should be
> managing resources better on the application side, not opening thousands of
> connections that sit idle doing nothing.
>
> On autonomous transactions we have procedures now that allow transactions
> inside of transactions that can be committed and rollbacked. that has been
> around for several years now.
>
> Backup argument is cherry picking and not discussing pgBackrest and other
> solutions or the use of tablespaces to isolate databases in a cluster at
> the disk layer or disk snapshots.
>
> "PostgreSQL has a relatively simple, but fast query planning algorithm"
> Compared to what.... What feature is PG missing these days... the only
> thing I know it can't do is change the plan in the middle of the
> execution stage. Which is not a query planner thing but the execution
> layer saying to itself I am taking too long maybe go back to the planning
> stage... Query Hints that have been discussed endlessly. Adding hints
> adds its own problems and has become a big mess for databases that support
> it.
>
> Multiple transactions per connection. I am asking WHY is that a feature.
> when one can have multiple sessions, what is the difference? running
> multiple transactions in single or multiple sessions means moving part of
> transaction logic into the application space. What do we gain here.....
>
> No application packaging. This Oracle thing that firebird has duplicated
> at some level. we can simulate this with namespace/schemas.
>
>
> I can keep going on here.
>
> There are litigmate points here
> Compression,
> not being able to return partials result sets from functions
> XID being 32 bit
>
Would converting them to 64 bits require changing the on-disk structure of
database files?
> anonymous functions in PG have several limitation not just input
> arguments (not sure i see the need for that)
>
Aren't transience and "ad hockery" the whole point of anonymous
procedures? Thus, I don't see the point of passing them parameters, either.
(When I *do* need something similar, I build the DO block as a bash string
variable with environment variables as "parameters", and then execute it
via psql -c "$sql" More like a template, TBH. It's great for purging old
data from tables, since I can bypass records who's DELETE statements fail
due to a FK constraint.
> Temporary tables are a pain and cause issues for big databases
>
I'd like to see GLOBAL TEMPORARY tables. Each connection gets its own
private copy of the table, so that applications don't need to carry around
CREATE TEMPORARY TABLE code with them.
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!
From | Date | Subject | |
---|---|---|---|
Next Message | Justin | 2025-09-10 01:36:46 | Re: MVCC and all that... |
Previous Message | Justin | 2025-09-10 00:41:02 | Re: MVCC and all that... |