Re: 2019-03 CF Summary / Review - Tranche #2 - Mailing list 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


pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Conflict handling for COPY FROM
Next
From: Arseny Sher
Date:
Subject: Re: Too rigorous assert in reorderbuffer.c