From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: 2019-03 CF Summary / Review - Tranche #2 |
Date: | 2019-02-16 05:45:26 |
Message-ID: | 20190216054526.zss2cufdxfeudr4i@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2019-02-14 12:37:52 -0800, Andres Freund wrote:
> - pg_stat_statements should notice FOR UPDATE clauses
>
> NR: This seems like to get in, given how sipmle it is. Some quibbles
> about the appropriate approach aside.
>
>
> Ok, my flight's about to land. So that's it for this round.
- Protect syscache from bloating with negative cache entries
WOA: I think unless the feature is drastically scaled down in scope,
there's no chance to get anything into v12.
Andres: punt to v13, unless a smaller chunk can be split off
- SERIALIZABLE with parallel query
NR: This seems like it's pretty much committable, and the author is a
committer these days.
- Removing [Merge]Append nodes which contain a single subpath
NR: I can't quite tell the state of this patch just by reading the
thread. It's longstanding, and the code doesn't look terrible, but Tom
appears to still be a bit unhappy.
Andres: ???
- verify ALTER TABLE SET NOT NULL by valid constraints
NR: Seems like a pretty useful feature. The code isn't very
invasive. The patch has been lingering around for a while. We should
merge this.
- Reduce amount of WAL generated by CREATE INDEX for gist, gin and
sp-gist
NR: This unfortunately has barely gotten any review so far, and has
had a number of issues authors have discovered themselves. It's a bit
sad that a useful patch has gotten this little review, but I think
it's probably a stretch to get it into v12 unless some senior
reviewers show up.
- GiST VACUUM
NR: Has gotten a fair bit of review by Heikki, but there still seems
to be a number of unresolved issues. Not sure if there's cycles to get
this done unless Heikki has time.
- libpq compression
NR: While a very useful feature, the patch seems pretty raw, there's
disagreements about code structure, and some cryptographic risks need
to be discussed or at least better documented.
Andres: punt to v13
- Evaluate immutable functions during planning (in FROM clause)
NR: As far as I can tell this CF entry should have been either WO or
even rejected for the last two CFs. Even if the review feedback had
been addressed, it seems there's very substantial architecture
concerns that haven't been responded to.
Andres: no chance for v12, CF entry should probably be closed.
- Global shared meta cache
NR: This is extremely invasive, and is more PoC work than anything
else.
Andres: punt to v13
- Remove self join on a unique column
NR: This still seems pretty raw, and there's not been a ton of
detailed review (although plenty of more general discussion). I don't
quite see how we can get this into shape for v12, although some review
would be good to allow the feature to progress.
Andres: punt to v13
- Inline Common Table Expressions
NR: I think it's likely that Tom will commit this soon, we're mostly
debating syntax and similar things at this point (and man, I'm looking
forward to this).
- Autoprepare: implicitly replace literals with parameters and store
generalized plan
NR: I think there's no chance to get this into v12, given the state of
the patch. There's not even agreement that we want this feature
(although I think we can't avoid it for much longer), not to speak of
agreement on the architecture.
I think this needs a lot more attention to ever get anywhere.
Andres: punt to v13
- Tid scan improvements (ordering and range scan)
NR: The patch has been through recent significant architectural
changes, albeit to an architecture more similar to an earlier
approach. There's not been meaningful review since. On the other hand,
the patch isn't actually all that complex. Seems like a stretch to get
into v12, but possible if e.g. Tom wants to pick it up.
Andres: +0.5 for punting to v13
- Block level parallel vacuum
NR: Cool feature, but I don't think this has gotten even remotely
enough review to be mergable into v12.
Andres: punt to v13
- Speed up planning with partitions
NR: Important feature, but based on a skim of the discussion this
doesn't seem ready for v12.
Andres: punt to v13
- Make nbtree keys unique by appending heap TID, suffix truncation
NR: Important, seemingly carefully worked on feature. But it's
*complicated* stuff, and there's only been a bit of design review by
Heikki. The author's a committer. I don't feel qualified to judge
this.
- KNN for B-tree
NR: The patch still seems to lack a bit of review. Possible but a
stretch for v12. (While the thread is quite old, there've been
substantial gaps where it wasn't worked on, so I don't think it's one
of the really bad cases of not getting review.)
Andres: +0.5 for punting to v13
- New vacuum option to do only freezing
NR: Seems simple enough. We probably can merge this.
- Speed up transaction completion faster after many relations are
accessed in a transaction
NR: This has only been submitted 2019-02-12. While not a really
complicated patch, it's also not trivial. Therefore I'd say this falls
under our policy of not merging nontrivial patches first submitted to
the last CF.
Andres: punt to v13
- SortSupport implementation on inet/cdir
WOA: This is a substantial amount of code submitted first for the last
CF.
Andres: punt to v13
- Referential Integrity Checks with Statement Level Triggers
NR: This has only been submitted to this CF, and is a very substantial
change. There has been no review as of yet, and the author
acknowledges several shortcomings in the patch.
Andres: punt to v13
- postgres_fdw: Perform UPPERREL_ORDERED and UPPERREL_FINAL steps
remotely
WOA: This is a nontrivial change, and the design and review only
started in late December. It's probably not realistic to target v12.
Andres: punt to v13
- Delay locking partitions during query execution
NR: Important patch. Development has only started in December. Not a
ton of code though.
Andres: ???
- Delay locking partitions during INSERT and UPDATE
RFC: Looks reasonable enough, although there's some discussion related
to increased deadlock risk. Re-raised that on the thread.
- Prove IS NOT NULL inference for large arrays
NR: No idea.
- Detoast Compressed Datum Slice
NR: Probably just can get committed close to as-is. Pinged Stephen,
who mentioned he's interested in committing it.
- Ordered Partitioned Table Scans
NR: Patch has been through a few rounds, but probably needs a look
soon by somebody else with a fair bit of planner experience. Might be
doable.
- schema variables, LET command
NR: For a feature that's as user exposed as this, I don't think this
has gotten even remotely enough review.
Andres: punt to v13
- block level PRAGMA
NR: My reading of this thread is that the proposal is closer to being
rejected than merged.
Andres: reject or punt?
- get rid of StdRdOptions, use individual binary reloptions
representation for each relation kind instead
NR: I'm not sure I understand what this going to buy us.
Andres: ???
- Track the next xid using 64 bits
WOA: Can probably be merged, I posted a few relatively minor review
comments, but I assume Thomas is going to merge an updated version.
- Refactoring the checkpointer's fsync request queue
NR: There's been some design issues raised (by your's truly, in
person). And there's very likely not going to be an in-core user for
this in v12 (neither slru-via-bufmgr or undo seem likely to get
merged). So I'm not sure it's realistic to get this into v12, although
it certainly seems doable if a bit of elbow grease is put into it.
- Making WAL receiver startup rely on GUC context for primary_conninfo
and primary_slot_name
NR: I think this should be rejected. As noted in the thread, this
doesn't actually buy us much, and has some potential costs once we
make primary_conninfo PGC_SIGHUP.
Andres: Reject
- Respect client-initiated CopyDone during logical streaming replication
NR: I don't think this is ready.
Andres: punt to v13
- logical decoding of two-phase transactions
WOA: This is probably not going to be ready by v13, although I think
it could become so if somebody senior really started working on it.
Andres: punt to v13 :(
- logical streaming for large in-progress transactions
WOA: Tomas, at the dev meeting in Brussels, said he doesn't believe
this is going to be ready for v12.
Andres: punt to v13 :(
- Restricting maximum keep segments by repslots
WOA: This seems to need substantial polishing before being
ready. Might be doable before v13, but the author also is involved in
numerous other patches needing work...
- Synchronous replay mode for avoiding stale reads on hot standbys
NR: There's some disagreement about the desirability of the feature,
but plenty people signalled they want it. Seems like it ought to get
merged at some point, there's been review (but more probably wouldn't
hurt).
- Copy function for logical replication slots
WOA: Probably can be committed, was briefly marked RFC, but I found
some issues (which should be easy enough to rectify).
- pg_rewind: options to use restore_command from recovery.conf or
command line
WOA: Was previously marked as RFC, but I don't see how it is. Possibly
can be finished, but does require a good bit more work.
- create and use subscription for nonsuperuser
NR: This seems to need a good bit more work. I'm a bit doubtful this
can be finished for v12.
Andres: +0.25 for punting to v13
- online change primary_conninfo
WOA: Needs a bit more work, but probably can be finished for v12.
- Remove deprecated exclusive backup mode
NR: There clearly seems to be no concensus on making this change.
Andres: punt to v13 or something
- Add timeline to partial WAL segments
WOA: Seems to need a good bit more work, and touches sensitive bits.
Andres: +0.5 for punting to v13
- Synchronizing slots from primary to standby
NR: This clearly is just a POC at this point.
Andres: punt to v13
- pg_hba.conf : new auth option : clientcert=verify-full
NR: this should probably be RFC, as it was before needing to be
rebased. Looks like it should just get merged.
- GSSAPI encryption support
NR: Seems Stephen is pondering committing this. Not quite sure I like
the way it's integreated in fe-secure/be-secure.
- multivariate MCV lists and histograms
WOA: Seems the MCV bits might be realistic for v12, but the histogram
part not?
- Push aggregation down to base relations and joins
NR: Seems like this needs a few more review, and is probably not quite
going to be ready for v12. But it'd probably need some attention by
Tom for the author to be able to move forward.
Andres: push to v13
- Pluggable storage API
NR: I'm biased... I plan to push substantial portions of this
feature. There's a few later features that I'm not sure are going to
be ready (e.g. doing trigger lookups using a snapshot).
- Custom compression methods
WOA: Hm.
Andres: I think we need to make a call whether we actually want this,
rather than just continuing to punt this forward.
- BRIN bloom and multi-minmax indexes
NR: Unfortunately this doesn't seem to have gotten meaningful review
in the last year :(
- SQL/JSON: jsonpath
WOA: This seems to need substantial further work before being
committable
Andres: +0.5 for punting to v13
(okay, breaking open a bottle of wine here)
- Add enum relation option type
RFC: I think Alvaro probably can commit this? He's edited a few
versions of the patch, and set the target version to 12.
- Covering GiST indexes
RFC
- amcheck verification for GiST
WOA: Some locking changes are apparently needed, possibly a bit too
much to fix up for v12?
- DNS SRV support for LDAP authentication
NR: Looks like Thomas should just merge this
- Add Hook Functions for Disk Quota Extension
NR: This is in the early design stages, rather than realistically
targeting v12.
Andres: punt to v13
- Implement NULL-related checks in object address functions to prevent cache lookup errors, take two
NR: Seems like this should go into 12, although it'd be good if Alvaro
could take another peek before Michael pushes.
- Triggers on Materialized Views
NR: I think we need to provide useful feedback whether we actually
want this feature. But either way, it's not v12 material.
Andres: punt to v13, discuss whether to reject
- Ltree syntax improvement
NR: Given this is a nontrivial patch, and was submitted 2019-01-29,
it's clearly not v12 material.
Andres: punt to v13
- Skip table truncation at VACUUM (should be: allow to disable
truncations via a reloptions)
NR: The feature is near trivial, and avoids significant problems in
hot standby environments. It seems to need some language lawyering.
- SQL/JSON: functions
NR: Dependant on jsonpath which I have a hard time seeing in v12. And
it's barely reviewed (and still contains exciting PG_CATCH games that
I warned about at the tail end of v11...).
Andres: punt to v13
- SQL/JSON: JSON_TABLE
NR: Depends on previous, no review.
Andres: punt to v13
- chained transactions
NR: Looks like it ought to be committable
- conflict handling for COPY FROM
NR: Clearly not ready for v12, the whole business with requiring a log
file doesn't seem acceptable.
Andres: punt to v13
- FETCH FIRST clause PERCENT option
WOA: Clearly not ready for v12.
Andres: punt to v13
- ALTER TABLE on system catalogs
NR: I still think this is the wrong approach, but I can also live with
Peter hacking this up. But I think a call got to be made at some
point, rather than schlepping this around continuously.
- ATTACH/DETACH PARTITION CONCURRENTLY
NR: Seems to be getting closer to being mergable.
- FETCH FIRST clause WITH TIES option
NR: Doesn't quite seem ready, insufficient tests, new code probably
should be in separate function. But possibly could be fixed up for
v12?
- support VARIADIC arg for least/greatest functions
NR: There's debate whether we want this feature. Tom argues, and I'm
inclined to agree, that this should rather be separate array specific
functions. Pavel's position is that that's a separate thing, but I'm
not sure I agree.
Andres: reject?
- Temporary materialized views
NR: Some infrastructure work is needed before this can go in. Not sure
if that can be finished for v12?
- insensitive/non-deterministic collations
NR: Peter has stated that he's targeting v12, but I'm not sure this
had enough review? But it's not *that* complicated...
- Log10 and hyperbolic functions for SQL:2016 compliance
NR: Seems simple enough, we should just merge this.
- pg_upgrade: Pass -j option down to vacuumdb
NR: Seems simple enough, we should just merge this.
- Support huge_pages on AIX
NR: Probably can be merged.
There's a few patches that authors, rather than others, have market as
targeting v13, or where authors consented to that. I don't see a need to
go through those here.
- Generic type subscripting
- Transactions involving multiple postgres foreign servers
- Undo logs
- Undo worker and transaction rollback
- Index Skip Scan
- SERIALIZABLE on standby servers
- Advanced partition matching for partition-wise join
Comments?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Arseny Sher | 2019-02-16 06:02:29 | Re: Too rigorous assert in reorderbuffer.c |
Previous Message | Andres Freund | 2019-02-16 05:24:57 | Re: Conflict handling for COPY FROM |