Re: 2019-03 CF Summary / Review - Tranche #2

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

In response to

Responses

Browse pgsql-hackers by date

  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