https://wiki.postgresql.org/api.php?action=feedcontributions&user=Horiguti&feedformat=atomPostgreSQL wiki - User contributions [en]2024-03-29T01:43:45ZUser contributionsMediaWiki 1.35.13https://wiki.postgresql.org/index.php?title=PostgreSQL_13_Open_Items&diff=34781PostgreSQL 13 Open Items2020-04-10T03:03:09Z<p>Horiguti: /* Open Issues */</p>
<hr />
<div>== Open Issues ==<br />
<br />
'''NOTE''': Please add new open items to the bottom of the list.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BhUKGJUw08dPs_3EUcdO6M90GnjofPYrWp4YSLaBkgYwS-AqA%40mail.gmail.com Should we rename effective_io_concurrency?] It now has a different meaning and you might want to turn it up higher, though the default behaviour hasn't changed.<br />
** Commit: {{PgCommitURL|b09ff536}}<br />
** Owner: Thomas Munro<br />
* [https://www.postgresql.org/message-id/20200406025651.fpzdb5yyb7qyhqko@alap3.anarazel.de 2pc leaks fds]<br />
** Commit: {{PgCommitURL|0dc8ead4}}<br />
** Owner: Alvaro Herrera<br />
** Initial leak has been fixed by {{PgCommitURL|91c40548}}, however it may be better to redesign the refactored interface opening WAL segments.<br />
* [https://postgr.es/m/9d9d1e1252a52ea1bad84ea40dbebfd54e672a0f.camel@j-davis.com Default setting for enable_hashagg_disk]<br />
** Owner: Jeff Davis<br />
* [https://www.postgresql.org/message-id/58c8d171-e665-6fa3-a9d3-d9423b694dae@enterprisedb.com Vacuum o/p with (full 1, parallel 0) option throwing an error]<br />
** Commit: {{PgCommitURL|40d964ec}}<br />
** Owner: Amit Kapila<br />
<br />
* consistency of explain output: two spaces, equals vs colons, semicolons (WAL and incremental sort)<br />
** [https://www.postgresql.org/message-id/20200402054120.GC14618@telsasoft.com WAL]<br />
** [https://www.postgresql.org/message-id/ef8c966f-e50a-c583-7b1e-85de6f4ca0d3%402ndquadrant.com WAL]<br />
** [https://www.postgresql.org/message-id/20200407042521.GH2228%40telsasoft.com incremental sort] - Let's plan to start a separate thread after this is resolved for WAL<br />
** Owner: Amit Kapila (WAL) / Tomas Vondra (incr sort)<br />
<br />
* [https://www.postgresql.org/message-id/20200408.093710.447591748588426656.horikyota.ntt@gmail.com Two issues related to slot-invalidation ]<br />
** Crash on logical-walsender startup after slot invalidation<br />
*** Proposed Fix: [https://www.postgresql.org/message-id/20200408.141956.891237856186513376.horikyota.ntt@gmail.com]<br />
** Checkpointer missses requests when slot invalidation occurs<br />
*** Proposed fix: [https://www.postgresql.org/message-id/20200408.164605.1874250940847340108.horikyota.ntt@gmail.com]<br />
<br />
== Decisions to Re-Check Mid Beta ==<br />
<br />
* Review the decision to enable deduplication by default (i.e. use 'on' as the default setting for the 'deduplicate_items' B-Tree storage parameter).<br />
** Commit: {{PgCommitURL|0d861bbb}}<br />
** Owner: Peter Geoghegan<br />
<br />
== Older Bugs ==<br />
<br />
=== Live issues ===<br />
* [https://www.postgresql.org/message-id/flat/20200323165059.GA24950%40alvherre.pgsql hash node details apparently accessing pfreed allocation]<br />
** Commit: {{PgCommitURL|3fc6e2d7f}}<br />
* [https://www.postgresql.org/message-id/20200328151721.GB12854%40nol pg_stat_statements doesn't report buffer consumption from parallel utility workers]<br />
** Commit: {{PgCommitURL|9da0cc35284bdbe8d442d732963303ff0e0a40bc}} (parallel btree index build) - {{PgCommitURL|40d964ec997f64227bc0ff5e058dc4a5770a70a9}} (parallel vacuum)<br />
* [https://www.postgresql.org/message-id/flat/CAJGNTeO93u-5APMga6WH41eTZ3Uee9f3s8dCpA-GSSqNs1b=Ug@mail.gmail.com segmentation fault using currtid and partitioned tables]<br />
** Issue with tableam (since v12)<br />
* [https://www.postgresql.org/message-id/flat/20200408152412.GZ2228%40telsasoft.com DETACH PARTITION and FOR EACH ROW triggers on partitioned tables]<br />
** Commit: {{PgCommitURL|86f575948c773b0ec5b0f27066e37dd93a7f0a96}} (since v11)<br />
<br />
=== Fixed issues ===<br />
<br />
=== Nothing to do ===<br />
<br />
== Non-bugs ==<br />
<br />
== Resolved Issues ==<br />
<br />
=== resolved before 13beta1 ===<br />
* [https://www.postgresql.org/message-id/flat/20200310190142.GB29065%40telsasoft.com#78420835db672ec62b83e00789efb367 "backend type in log_line_prefix": Update file_fdw]<br />
** Fixed at {{PgCommitURL|0830d21f5b01064837dc8bd910ab31a5b7a1101a}}<br />
<br />
* [https://www.postgresql.org/message-id/753391579708726@iva3-77ae5995f07f.qloud-c.yandex.net Rework handling of wal_receiver_create_temp_slot to fit with WAL receiver architecture]<br />
** Fixed at {{PgCommitURL|092c6936de49e}}<br />
<br />
* [https://www.postgresql.org/message-id/flat/CAMbWs4_maqdBnRR4x01pDpoV-CiQ%2BRvMQaPm4JoTPbA%3DmZmhMw%40mail.gmail.com Negative cost is seen for plan node: Hash agg spill to disk]<br />
** Fixed at: {{PgCommitURL|7351bfeda33b60b69c15791c7eb77a127546df26}}<br />
<br />
* [https://www.postgresql.org/message-id/flat/20200315234833.GA31110%40alvherre.pgsql#c50e981ed9dd24101c0ec054d5511d7f control max length of parameter values logged]<br />
** Fixed at {{PgCommitURL|0b34e7d307e6a142ee94800e6d5f3e73449eeffd}}<br />
<br />
* [https://www.postgresql.org/message-id/16346-6210ad7a0ea81be1@postgresql.org BUG #16346: pg_upgrade fails on a trigger with a comment]<br />
** Fixed at: {{PgCommitURL|a9d70c108786712a1023c65e360602edf7bafbf4}}<br />
<br />
* [https://postgr.es/m/ec63d70b668818255486a83ffadc3aec492c1f57.camel%40j-davis.com Tweak memory accounting for Hash Aggregation]<br />
** Fixed at: {{PgCommitURL|50a38f65177ea7858bc97f71ba0757ba04c1c167}}<br />
<br />
== Won't Fix ==<br />
<br />
== Important Dates ==<br />
<br />
Current schedule:<br />
<br />
* Feature Freeze: April 7, 2020 ('''Last Day to Commit Features''')<br />
* Beta 1: TBD<br />
<br />
[[Category:Open_Items]]</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_13_Open_Items&diff=34780PostgreSQL 13 Open Items2020-04-10T02:54:03Z<p>Horiguti: /* Open Issues */</p>
<hr />
<div>== Open Issues ==<br />
<br />
'''NOTE''': Please add new open items to the bottom of the list.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BhUKGJUw08dPs_3EUcdO6M90GnjofPYrWp4YSLaBkgYwS-AqA%40mail.gmail.com Should we rename effective_io_concurrency?] It now has a different meaning and you might want to turn it up higher, though the default behaviour hasn't changed.<br />
** Commit: {{PgCommitURL|b09ff536}}<br />
** Owner: Thomas Munro<br />
* [https://www.postgresql.org/message-id/20200406025651.fpzdb5yyb7qyhqko@alap3.anarazel.de 2pc leaks fds]<br />
** Commit: {{PgCommitURL|0dc8ead4}}<br />
** Owner: Alvaro Herrera<br />
** Initial leak has been fixed by {{PgCommitURL|91c40548}}, however it may be better to redesign the refactored interface opening WAL segments.<br />
* [https://postgr.es/m/9d9d1e1252a52ea1bad84ea40dbebfd54e672a0f.camel@j-davis.com Default setting for enable_hashagg_disk]<br />
** Owner: Jeff Davis<br />
* [https://www.postgresql.org/message-id/58c8d171-e665-6fa3-a9d3-d9423b694dae@enterprisedb.com Vacuum o/p with (full 1, parallel 0) option throwing an error]<br />
** Commit: {{PgCommitURL|40d964ec}}<br />
** Owner: Amit Kapila<br />
<br />
* consistency of explain output: two spaces, equals vs colons, semicolons (WAL and incremental sort)<br />
** [https://www.postgresql.org/message-id/20200402054120.GC14618@telsasoft.com WAL]<br />
** [https://www.postgresql.org/message-id/ef8c966f-e50a-c583-7b1e-85de6f4ca0d3%402ndquadrant.com WAL]<br />
** [https://www.postgresql.org/message-id/20200407042521.GH2228%40telsasoft.com incremental sort] - Let's plan to start a separate thread after this is resolved for WAL<br />
** Owner: Amit Kapila (WAL) / Tomas Vondra (incr sort)<br />
<br />
* Two issues related to slot-invalidation [https://www.postgresql.org/message-id/20200408.093710.447591748588426656.horikyota.ntt@gmail.com]<br />
** Crash on logical-walsender startup after slot invalidation<br />
*** Proposed Fix: [https://www.postgresql.org/message-id/20200408.141956.891237856186513376.horikyota.ntt@gmail.com]<br />
** Checkpointer missses requests when slot invalidation occurs<br />
*** Proposed fix: [https://www.postgresql.org/message-id/20200408.164605.1874250940847340108.horikyota.ntt@gmail.com]<br />
<br />
== Decisions to Re-Check Mid Beta ==<br />
<br />
* Review the decision to enable deduplication by default (i.e. use 'on' as the default setting for the 'deduplicate_items' B-Tree storage parameter).<br />
** Commit: {{PgCommitURL|0d861bbb}}<br />
** Owner: Peter Geoghegan<br />
<br />
== Older Bugs ==<br />
<br />
=== Live issues ===<br />
* [https://www.postgresql.org/message-id/flat/20200323165059.GA24950%40alvherre.pgsql hash node details apparently accessing pfreed allocation]<br />
** Commit: {{PgCommitURL|3fc6e2d7f}}<br />
* [https://www.postgresql.org/message-id/20200328151721.GB12854%40nol pg_stat_statements doesn't report buffer consumption from parallel utility workers]<br />
** Commit: {{PgCommitURL|9da0cc35284bdbe8d442d732963303ff0e0a40bc}} (parallel btree index build) - {{PgCommitURL|40d964ec997f64227bc0ff5e058dc4a5770a70a9}} (parallel vacuum)<br />
* [https://www.postgresql.org/message-id/flat/CAJGNTeO93u-5APMga6WH41eTZ3Uee9f3s8dCpA-GSSqNs1b=Ug@mail.gmail.com segmentation fault using currtid and partitioned tables]<br />
** Issue with tableam (since v12)<br />
* [https://www.postgresql.org/message-id/flat/20200408152412.GZ2228%40telsasoft.com DETACH PARTITION and FOR EACH ROW triggers on partitioned tables]<br />
** Commit: {{PgCommitURL|86f575948c773b0ec5b0f27066e37dd93a7f0a96}} (since v11)<br />
<br />
=== Fixed issues ===<br />
<br />
=== Nothing to do ===<br />
<br />
== Non-bugs ==<br />
<br />
== Resolved Issues ==<br />
<br />
=== resolved before 13beta1 ===<br />
* [https://www.postgresql.org/message-id/flat/20200310190142.GB29065%40telsasoft.com#78420835db672ec62b83e00789efb367 "backend type in log_line_prefix": Update file_fdw]<br />
** Fixed at {{PgCommitURL|0830d21f5b01064837dc8bd910ab31a5b7a1101a}}<br />
<br />
* [https://www.postgresql.org/message-id/753391579708726@iva3-77ae5995f07f.qloud-c.yandex.net Rework handling of wal_receiver_create_temp_slot to fit with WAL receiver architecture]<br />
** Fixed at {{PgCommitURL|092c6936de49e}}<br />
<br />
* [https://www.postgresql.org/message-id/flat/CAMbWs4_maqdBnRR4x01pDpoV-CiQ%2BRvMQaPm4JoTPbA%3DmZmhMw%40mail.gmail.com Negative cost is seen for plan node: Hash agg spill to disk]<br />
** Fixed at: {{PgCommitURL|7351bfeda33b60b69c15791c7eb77a127546df26}}<br />
<br />
* [https://www.postgresql.org/message-id/flat/20200315234833.GA31110%40alvherre.pgsql#c50e981ed9dd24101c0ec054d5511d7f control max length of parameter values logged]<br />
** Fixed at {{PgCommitURL|0b34e7d307e6a142ee94800e6d5f3e73449eeffd}}<br />
<br />
* [https://www.postgresql.org/message-id/16346-6210ad7a0ea81be1@postgresql.org BUG #16346: pg_upgrade fails on a trigger with a comment]<br />
** Fixed at: {{PgCommitURL|a9d70c108786712a1023c65e360602edf7bafbf4}}<br />
<br />
* [https://postgr.es/m/ec63d70b668818255486a83ffadc3aec492c1f57.camel%40j-davis.com Tweak memory accounting for Hash Aggregation]<br />
** Fixed at: {{PgCommitURL|50a38f65177ea7858bc97f71ba0757ba04c1c167}}<br />
<br />
== Won't Fix ==<br />
<br />
== Important Dates ==<br />
<br />
Current schedule:<br />
<br />
* Feature Freeze: April 7, 2020 ('''Last Day to Commit Features''')<br />
* Beta 1: TBD<br />
<br />
[[Category:Open_Items]]</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_11_Open_Items&diff=31708PostgreSQL 11 Open Items2018-04-09T04:23:17Z<p>Horiguti: /* Older Bugs */</p>
<hr />
<div>== Open Issues ==<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoYQAaH-wV1YB3SxNTTbR5y2UUNA%2B_C1%3DQ%3D8jwxOw30juA%40mail.gmail.com Tidy up es_query_dsa and possibly ParallelWorkerContext?]<br />
** Original commit: {{PgCommitURL|e13029a5ce353574516c64fd1ec9c50201e705fd}} (principal author: Thomas Munro; owner: Robert Haas)<br />
** Bug fix: {{PgCommitURL|fd7c0fa732d97a4b4ebb58730e6244ea30d0a618}}<br />
** While the bug was fixed with something back-patchable, we should considering improving this situation. As discussed in the above-linked thread, options might include (1) getting rid of es_query_dsa entirely and injecting dependencies into nodes, (2) making all Gather nodes share the same DSM segment so there truly could be per-query DSA segment.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CAKJS1f-BL%2Br5FXSejDu%3D%2BMAvzRARaawRnQ_ZFtbv_o6tha9NJw%40mail.gmail.com#CAKJS1f-BL+r5FXSejDu=+MAvzRARaawRnQ_ZFtbv_o6tha9NJw@mail.gmail.com Partitions with bool partition keys]<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1xY2LLBf4szkQPEQYnGMdGfcfYMxjfG38mqkcd1rj6ryQ@mail.gmail.com WARNING in parallel index creation]<br />
** Original commit (tentative): {{PgCommitURL|9da0cc35284bdbe8d442d732963303ff0e0a40bc}}<br />
<br />
* [https://www.postgresql.org/message-id/CAFj8pRCgQ5_O4YL4ZKC5=6Oi7DW_q4xB7==_iN2yRKq7+1Tv9Q@mail.gmail.com Missing support of named convention for procedures]<br />
<br />
* [https://www.postgresql.org/message-id/CANEvxPqxAj6nNHVcaXxpTeEFPmh24Whu+23emgjiuKrhJSct0A@mail.gmail.com Handling of VOID functions has incorrect error handling]<br />
** Original commit: {{PgCommitURL|fd1a421fe66173fb9b85d3fe150afde8e812cbe4}}<br />
<br />
* [https://www.postgresql.org/message-id/12085bc4-0bc6-0f3a-4c43-57fe0681772b@lab.ntt.co.jp relispartition for index partitions]<br />
<br />
* [https://www.postgresql.org/message-id/CAGPqQf0W%2Bv-Ci_qNV_5R3A%3DZ9LsK4%2BjO7LzgddRncpp_rrnJqQ%40mail.gmail.com failure to validate default partition's constraint when attaching]<br />
** [https://www.postgresql.org/message-id/487870f2-d538-9d07-13e8-4ca390e27d18%40lab.ntt.co.jp Patch exists]<br />
<br />
* [https://www.postgresql.org/message-id/87po3a3n46.fsf@ansel.ydns.eu Failed assertion in create_gather_path]<br />
<br />
* [https://www.postgresql.org/message-id/87in923lyw.fsf@ansel.ydns.eu Failed assertion on pfree() via perform_pruning_combine_step]<br />
<br />
* [https://www.postgresql.org/message-id/20180409010031.GA11599%40paquier.xyz "make -j 4 install" broken after running configure]<br />
<br />
== Decisions to Recheck Mid-Beta ==<br />
<br />
<br />
== Older Bugs ==<br />
<br />
* [https://www.postgresql.org/message-id/152056616579.4966.583293218357089052@wrigleys.postgresql.org OpenTransientFile() should be paired with CloseTransientFile() rather than close()]<br />
* [https://www.postgresql.org/message-id/20180309075538.GD9376@paquier.xyz Fixes for missing schema qualifications]<br />
* [https://www.postgresql.org/message-id/CAFiTN-u4BA8KXcQUWDPNgaKAjDXC=C2whnzBM8TAcv=stckYUw@mail.gmail.com Allocation done in critical section when initializing WAL]<br />
* [https://www.postgresql.org/message-id/AD7252BEFBCA3846A8D34ABCDA258D080120F025C6@EXMBX05.mailcloud.dk pg_dump misses public role on schema public]<br />
* [https://www.postgresql.org/message-id/CAMyN-kA7aOJzBmrYFdXcc7Z0NmW+5jBaf_m=_-77uRNyKC9r=A@mail.gmail.com Fix for pg_stat_activity putting client hostaddr into appname field]<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp Continued WAL record can prevent standby from startup]<br />
<br />
== Non-bugs ==<br />
<br />
== Resolved Issues ==<br />
<br />
=== resolved before 11beta1 ===<br />
<br />
* [https://www.postgresql.org/message-id/CAH2-WzkryAPcQOHBJKuDKfni-HGFny31yjcbM-yp5HO-71iCdw@mail.gmail.com Parallel index workers don't have activity set]<br />
** Original commit: {{PgCommitURL|9da0cc35284bdbe8d442d732963303ff0e0a40bc}}<br />
** Bug fix: {{PgCommitURL|7de4a1bcc56f494acbd0d6e70781df877dc8ecb5}}<br />
<br />
* [https://www.postgresql.org/message-id/20180402065149.GC1908%40paquier.xyz check_ssl_key_file_permissions should be in be-secure-common.c]<br />
** Original commit: {{PgCommitURL|8a3d9425290ff5f6434990349886afae9e1c6008}}<br />
** [https://www.postgresql.org/message-id/20180402065149.GC1908%40paquier.xyz Patch exists]<br />
** Bug fix: {{PgCommitURL|2764d5dcfa84d240c901c20ec6e194f72d82b78a}}<br />
<br />
* [https://www.postgresql.org/message-id/flat/CAFjFpRcOTHZSFfHNwhAe4DmS%2BqvWmqK_UW3QF3wG8e0pAKW0tA%40mail.gmail.com#CAFjFpRcOTHZSFfHNwhAe4DmS+qvWmqK_UW3QF3wG8e0pAKW0tA@mail.gmail.com Missing break statement after transformCallStmt in transformStmt]<br />
** Original commit: {{PgCommitURL|76b6aa41f41db66004b1c430f17a546d4102fbe7}}<br />
** Bug fix: {{PgCommitURL|13c7c65ec900a30bcddcb27f5fd138dcdbc2ca2e}}<br />
<br />
* [https://www.postgresql.org/message-id/CAKJS1f91kq1wfYR8rnRRfKtxyhU2woEA+=whd640UxMyU+O0EQ@mail.gmail.com Parallel index creation does not properly clean up after error]<br />
** Original commit: {{PgCommitURL|29d58fd3adae9057c3fd502393b2f131bc96eaf9}}<br />
** Bug fix: {{PgCommitURL|47cb9ca49a611fa518e1a0fe46526507c96a5612}}<br />
<br />
* [https://www.postgresql.org/message-id/30721.1519750231@sss.pgh.pa.us pg_proc.prokind change means we need server-version-dependent tab completion in psql]<br />
** [https://www.postgresql.org/message-id/24314.1520190408@sss.pgh.pa.us Proposed patch]<br />
<br />
=== resolved before 11beta2 ===<br />
<br />
This lists the open items fixed between the release of 11 beta1 and 11 beta2. <br />
<br />
== Important Dates ==<br />
<br />
Current schedule:<br />
* feature freeze: 8th of April 2018<br />
* beta1: YYY<br />
* beta2: ZZZ<br />
<br />
[[Category:Open_Items]]</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2018_Developer_Meeting&diff=31564PgCon 2018 Developer Meeting2018-03-07T07:44:06Z<p>Horiguti: /* RSVPs */</p>
<hr />
<div>A meeting of the interested PostgreSQL developers is being planned for Tuesday 29 May, 2018 at the University of Ottawa, prior to pgCon 2018. In order to keep the numbers manageable, this meeting is by '''invitation only'''. Unfortunately it is quite possible that we've overlooked important individuals during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org).<br />
<br />
Please note that the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 11/10 release cycles. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies.<br />
<br />
As at last years event, an Unconference will be held on Wednesday for in-depth discussion of technical topics.<br />
<br />
This is a PostgreSQL Community event.<br />
<br />
== Meeting Goals ==<br />
<br />
* Define the schedule for the 12.0 release cycle<br />
* Address any proposed timing, policy, or procedure issues<br />
* Address any proposed [http://en.wikipedia.org/wiki/Wicked_problem Wicked problems]<br />
<br />
== Time & Location ==<br />
<br />
The meeting will be:<br />
<br />
* 9:00AM to 12PM<br />
* TBD<br />
* University of Ottawa.<br />
<br />
Coffee, tea and snacks will be served starting at 8:45am. Lunch will be after the meeting.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
# Ashutosh Bapat<br />
# Joe Conway<br />
# Andrew Dunstan<br />
# Peter Eisentraut<br />
# Andres Freund<br />
# Stephen Frost<br />
# Robert Haas<br />
# Magnus Hagander<br />
# Kyotaro Horiguchi<br />
# Tatsuo Ishii<br />
# Amit Kapila<br />
# Jonathan Katz<br />
# Tom Lane<br />
# Amit Langote<br />
# Noah Misch<br />
# Bruce Momjian<br />
# Thomas Munro<br />
# Michael Paquier<br />
# Teodor Sigaev<br />
# David Steele<br />
# Tomas Vondra<br />
<br />
== Agenda Items ==<br />
<br />
* 12.0 release and commitfest schedule (Dave)<br />
<br />
* ''Please add suggestions for agenda items here. (with your name)''<br />
<br />
==Agenda==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Time<br />
!Item<br />
!Presenter<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|09:00 - 09:30<br />
|Welcome and introductions<br />
|Dave Page<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|10:30 - 10:45<br />
|Coffee break<br />
|All<br />
<br />
|- <br />
|11:50 - 12:00<br />
|Any other business<br />
|Dave Page<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|12:00<br />
|Lunch<br />
|<br />
<br />
|}<br />
<br />
== Minutes ==<br />
<br />
=== Welcome and introductions ===<br />
<br />
Attendees:<br />
<br />
=== 12.0 release and commitfest schedule ===<br />
<br />
=== Any other business ===</div>Horigutihttps://wiki.postgresql.org/index.php?title=FOSDEM/PGDay_2018_Developer_Meeting&diff=31184FOSDEM/PGDay 2018 Developer Meeting2017-11-15T00:42:37Z<p>Horiguti: /* RSVPs */</p>
<hr />
<div>A meeting of the interested PostgreSQL developers is being planned for Thursday 1st February, 2018 at the Brussels Marriott Hotel, prior to FOSDEM/PGDay 2018. In order to keep the numbers manageable, this meeting is by '''invitation only'''. Unfortunately it is quite possible that we've overlooked important individuals during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org).<br />
<br />
Please note that the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 10 and 11 release cycles. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies.<br />
<br />
This is a PostgreSQL Community event.<br />
<br />
== Meeting Goals ==<br />
<br />
* Review the progress of the 11.0 schedule, and formulate plans to address any issues<br />
* Address any proposed timing, policy, or procedure issues<br />
* Address any proposed [http://en.wikipedia.org/wiki/Wicked_problem Wicked problems]<br />
<br />
== Time & Location ==<br />
<br />
The meeting will be:<br />
<br />
* 9:00AM to 5:00PM<br />
* Brussels Marriott Hotel<br />
<br />
Coffee, tea and snacks will be served starting at 8:45am. Lunch will be provided.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname) and will be attending:<br />
<br />
* Magnus Hagander<br />
* Dave Page <br />
* Tomas Vondra<br />
<br />
The following people have sent their apologies:<br />
<br />
* Peter Geoghegan<br />
* Kyotaro Horiguchi<br />
* Amit Kapila<br />
* KaiGai Kohei<br />
* Tom Lane<br />
* Michael Paquier<br />
* David Rowley<br />
* Pavel Stehule<br />
<br />
==Agenda Items==<br />
<br />
Please add agenda items here!<br />
<br />
* 11.0 Release Review<br />
* Commitfest item review<br />
<br />
==Agenda==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Time<br />
!Item<br />
!Presenter<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|09:00 - 09:10<br />
|Welcome and introductions<br />
|Dave<br />
<br />
|- <br />
|09:10 - 09:20<br />
|10.0 Release Review<br />
|All<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|10:30 - 11:00<br />
|Coffee break<br />
|All<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|12:45 - 13:45<br />
|Lunch<br />
|All<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|15:00 - 15:30<br />
|Tea break<br />
|All<br />
<br />
|- <br />
|15:30 - 17:00<br />
|Open CommitFest Item Review<br />
|All<br />
<br />
|- <br />
|16:45 - 17:00<br />
|Any other business<br />
|Dave<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|17:00<br />
|Finish<br />
|<br />
|}<br />
<br />
== Minutes ==<br />
<br />
<pre><br />
Welcome<br />
--------<br />
<br />
Present: <br />
<br />
Apologies:<br />
<br />
11.0 Release Review<br />
-------------------<br />
<br />
<br />
None.<br />
</pre></div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29671PostgreSQL 10 Open Items2017-03-29T05:48:38Z<p>Horiguti: /* Other */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to reconnect even with replication slots]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wXkKUKBHWBYzET3D9OViyDg8DcVL-wKEqk2uyoMrzr_A@mail.gmail.com Crash recovery can leave everlasting empty pages]<br />
** The pages are actually empty but FSM says that they have no room for new data and ALL_FROZEN. ALL_FROZEN prevents autovacuum from fixing FSM.<br />
<br />
* [https://www.postgresql.org/message-id/20170321.192419.96677899.horiguchi.kyotaro%40lab.ntt.co.jp Logical replication between differrent encodings fails]<br />
** This issue is halfway fixed and additional patch exists.<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29670PostgreSQL 10 Open Items2017-03-29T05:47:29Z<p>Horiguti: /* Other */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to reconnect even with replication slots]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wXkKUKBHWBYzET3D9OViyDg8DcVL-wKEqk2uyoMrzr_A@mail.gmail.com Crash recovery can leave everlasting empty pages]<br />
** The pages are actually empty but FSM says that they have no room for new data and ALL_FROZEN. ALL_FROZEN prevents autovacuum from fixing FSM.<br />
<br />
* [https://www.postgresql.org/message-id/20170321.193240.14060573.horiguchi.kyotaro@lab.ntt.co.jp Logical replication between differrent encodings fails]<br />
** This issue is halfway fixed and additional patch exists.<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29669PostgreSQL 10 Open Items2017-03-29T05:45:14Z<p>Horiguti: /* Other */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to recoonect even with replication slots]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wXkKUKBHWBYzET3D9OViyDg8DcVL-wKEqk2uyoMrzr_A@mail.gmail.com Crash recovery can leave everlasting empty pages]<br />
** The pages are actually empty but FSM says that they have no room for new data and ALL_FROZEN. ALL_FROZEN prevents autovacuum from fixing FSM.<br />
<br />
* [https://www.postgresql.org/message-id/20170321.193240.14060573.horiguchi.kyotaro@lab.ntt.co.jp Logical replication between diferrent encodings fails]<br />
** This issue is halfway fixed and additional patch exists.<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29668PostgreSQL 10 Open Items2017-03-29T05:41:29Z<p>Horiguti: /* Other */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to recoonect even with replication slots]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wXkKUKBHWBYzET3D9OViyDg8DcVL-wKEqk2uyoMrzr_A@mail.gmail.com Crash recovery can leave everlasting empty pages]<br />
** The pages are actually empty but FSM says that they have no room for new data and ALL_FROZEN. ALL_FROZEN prevents autovacuum from fixing FSM.<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29667PostgreSQL 10 Open Items2017-03-29T05:33:03Z<p>Horiguti: /* Open Issues */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to recoonect even with replication slots]<br />
** patch exists<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PostgreSQL_10_Open_Items&diff=29666PostgreSQL 10 Open Items2017-03-29T05:30:31Z<p>Horiguti: /* Open Issues */</p>
<hr />
<div>== Open Issues ==<br />
<br />
=== Partitioning ===<br />
<br />
* [https://www.postgresql.org/message-id/2b0d42f2-3a53-763b-c9c2-47139e4b1c2e@lab.ntt.co.jp Partitioning tables create a file on-disk, which remains empty and has no purpose. Those relations don't need any storage]<br />
<br />
* pg_dump and partitioned tables<br />
** [https://www.postgresql.org/message-id/7682253a-6f79-6a92-00aa-267c4c412870%40lab.ntt.co.jp pg_dump should not emit ALTER TABLE ONLY for a partitioned table in case of attribute changes and inheritable constraints]<br />
*** patch exists<br />
** [https://www.postgresql.org/message-id/20170217133251.GK9812%40tamriel.snowman.net pg_dump TAP tests around partitioning]<br />
<br />
* sepgsql and partitioned tables<br />
** [https://postgr.es/m/20170309144718.GE9812@tamriel.snowman.net sepgsql and partitioned tables]<br />
<br />
* postgres_fdw, partitioned tables and IMPORT SCHEMA<br />
** [https://postgr.es/m/20170309141531.GD9812@tamriel.snowman.net postgres_fdw IMPORT SCHEMA and partitioned tables]<br />
<br />
* [https://www.postgresql.org/message-id/a6f99cdb-21e7-1d65-1381-91f2cfa156e2%40lab.ntt.co.jp Documentation improvements]<br />
** Patch exists<br />
<br />
=== Logical Replication ===<br />
<br />
* [https://www.postgresql.org/message-id/20170217020415.GI9812@tamriel.snowman.net pg_dump and SUBSCRIPTIONS]<br />
** Need to figure out the best way to make sure subscriptions are included in backups by default and pg_upgrade works with them<br />
** This should probably wait until we see what's going to happen with initial data copy patch as it modifies the behaviour<br />
<br />
* [https://www.postgresql.org/message-id/51f65289-54f8-2256-d107-937d662d69f1%402ndquadrant.com snapshot builder has bugs (all the way back to 9.4)]<br />
<br />
* [https://www.postgresql.org/message-id/flat/92ea7dd8-70b9-16c6-9327-e67e56209f33%40lab.ntt.co.jp publications vs inheritance]<br />
** Need to decide how publication membership of tables with inheritance should work.<br />
<br />
* [https://www.postgresql.org/message-id/flat/CA%2BTgmoarXTa3F5ybQ98DtUDKVMUpg5JoDykPXUaEr9z_8OyYWQ%40mail.gmail.com add synchronous_commit control for logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/flat/b235fa69-147a-5e09-f8f3-3f780a1abb2e@2ndquadrant.com origin tracking is slightly off in logical apply]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoB2ZbCCqOx%3DbgKMcLrAvs1V0ZMqzs7wBTuDySezTGtMZA%40mail.gmail.com Replication status in logical replication]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/a2355846-e5b1-184c-71a4-882f514b5948%402ndquadrant.com ALTER SUBSCRIPTION ... WITH (SLOT NAME = ...) crashes apply worker]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/20170316085322.crffknkgee5s6air@alap3.anarazel.de Logical replication + EXEC_BACKEND + ASLR is broken]<br />
** Also an issue for parallelism (in 9.6 already)<br />
<br />
=== SCRAM-SHA-256 Authentication ===<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSP+MHqg=dKoNOZu75j2mGAEW622GYz45Mv2V_XOao-9g@mail.gmail.com CREATE/ALTER ROLE PASSWORD ('value' USING 'method')], extension of this DDL to enforce type of password without changing password_encryption.<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqSByyEmAVLtEf1KxTRh=PWNKiWKEKQR=e1yGehz=wbymQ@mail.gmail.com SASLprep]<br />
<br />
* [https://www.postgresql.org/message-id/CAB7nPqR82_57C8O1+z-bUChhHpdjMec_omLfKwYdjAFjjcrBWg@mail.gmail.com Switch use of "encrypted" to "hash" for passwords in documentation]<br />
<br />
* {{messageLink|b081887e-1712-3aa4-7dbe-e012333d50e4@iki.fi|pg_hba.conf syntax}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1wfBgFPbfAMYZQE78p=VhZX7nN86aWkp0QcCp=+KxZ=bg@mail.gmail.com \password and PQencryptPassword]<br />
<br />
* [https://www.postgresql.org/message-id/20170321135742.GB23103@e733.localdomain Errors with valgrind]<br />
<br />
=== Hash Indexes ===<br />
<br />
* [https://www.postgresql.org/message-id/CAA4eK1%2BVE_TDRLWpyeOf%2B7%2B6if68kgPNwO4guKo060rm_t3O5w%40mail.gmail.com page inspect to show appropriate type of page]<br />
** patch exists<br />
<br />
=== Parallel Query ===<br />
<br />
* [https://www.postgresql.org/message-id/6ecd6f17-0dcf-1de7-ded8-0de7db1ddc88%402ndquadrant.com crashes due to setting max_parallel_workers=0]<br />
<br />
* [https://www.postgresql.org/message-id/CAFiTN-suK%2BMod_noGy8LpmkSzgvzwhGfNZ0K6vf_gX6rkw2jxA%40mail.gmail.com Problem in Parallel Bitmap Heap Scan]<br />
** patch exists<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm%3D2VvKCVXjg-REHTikoBUOhtfvfCyiJrT%3DzHDJyvMNd9pw%40mail.gmail.com attaching to DSA area that was already destroyed]<br />
** patch exists<br />
<br />
=== Documentation tool chain ===<br />
* [https://www.postgresql.org/message-id/flat/alpine.DEB.2.20.1702161846410.29507@lancre/ web site CSS issues]<br />
<br />
=== Replication ===<br />
* [https://www.postgresql.org/message-id/20170117.193645.160386781.horiguchi.kyotaro@lab.ntt.co.jp standby can fail to recoonect even with replication slots]<br />
<br />
=== Other ===<br />
<br />
* [https://www.postgresql.org/message-id/c2c7191b-5ca0-b37a-9e9d-4df15ffb554b%40lab.ntt.co.jp Oddity in EXPLAIN for foreign/custom join pushdown plans]<br />
** postgres_fdw produces incorrect aliases for joining relations shown in EXPLAIN for some join pushdown queries<br />
** [https://www.postgresql.org/message-id/b4b04e83-5eb4-7dd6-2951-32acadea4e7b@lab.ntt.co.jp low-priority issue; let's leave this for v10]<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Which synchronous replication method, priority or quorum, should be chosen when neither FIRST nor ANY is specified in synchronous_standby_names?]<br />
** Right now, a priority-based sync replication is chosen for keeping backward compatibility. However some hackers argued to change this decision so that a quorum commit is chosen because they think that most users prefer to a quorum.<br />
<br />
* [https://www.postgresql.org/message-id/CAHGQGwEKOw=SmPLxJzkBsH6wwDBgOnVz46QjHbtsiZ-d-2RGUg@mail.gmail.com Improve the docs and comments for quorum-based sync replication]<br />
** There will be still many source comments and documentations that we7c030783a5bd07cadffc2a1018bc33119a4c7505 need to update, for example, in high-availability.sgml. We need to check and update them throughly.<br />
<br />
* Query fails when SRFs are part of FROM clause (Commit id: 69f4b9c85f)<br />
** [https://postgr.es/m/CAGPqQf3joLrjmR2FmQzYURb-_TxhW78tXhgYm+C66wXNjWH9ww@mail.gmail.com Query fails when SRFs are part of FROM clause]<br />
<br />
* pg_dump and data durability, with addition of --no-sync option<br />
** [https://www.postgresql.org/message-id/CAB7nPqTUOpF792rDOnBkswZ%3DZgHwxdB01OQU2tAF1KU4iUuLrw%40mail.gmail.com Regression tests should use --no-sync as much as possible]<br />
<br />
== Resolved before beta1 ==<br />
<br />
* Integer overflow in enlargeStringInfo<br />
** {{messageLink|1706e85e-60d2-494e-8a64-9af1e1b2186e@manitou-mail.org|thinko in overflow logic}}<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU=1yURZZONoeLXhPsp2AkqR5MNAXiCiTVnrt2LGd6qD1b8w@mail.gmail.com pg_upgrade is broken because of renaming of pg_resetxlog to pg_resetwal]<br />
** Fixed by commit b877761.<br />
<br />
* [https://www.postgresql.org/message-id/flat/1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24#1803D792815FC24D871C00D17AE95905AC5FAE@g01jpexmbkw24 PQsendQuery fails when it should not if target_session_attrs is set to read-write]<br />
** Fixed by commit 1de0a4e.<br />
<br />
* [https://www.postgresql.org/message-id/CAM2+6=U72y2_Jni2p+meqTvvk=r_=Wd4orvzz5YL0b3WFx+gcA@mail.gmail.com Substantial bloat in postgres_fdw regression test runtime]<br />
** Fixed by commit aa7f593b1ffa9717bd5570174944c06c482d1c1f.<br />
<br />
* [https://www.postgresql.org/message-id/9f9dc7ae-14f0-4a25-5485-964d9bfc19bd%40lab.ntt.co.jp Error detail shown when partition not found]<br />
** Fixed by commit 5a73e17317e91912b2755f7960d5bf31d374cf31.<br />
<br />
* [https://www.postgresql.org/message-id/CAD21AoD%2BVO93zZ4ZQtZQb-jZ_wMko3OgGdx1MXO4T%2B8q_zHDDA%40mail.gmail.com DROP SUBSCRIPTION and ROLLBACK]<br />
** Fixed by commit 272adf4f9cd67df323ae57ff3dee238b649d3b73.<br />
<br />
* [https://www.postgresql.org/message-id/6c420206-45d7-3f56-8325-4bd7b76483ba%40lab.ntt.co.jp Dropping partitioned tables without CASCADE]<br />
** Fixed by commit 8b4d582d279d784616c228be58af1e39aa430402.<br />
<br />
* [https://www.postgresql.org/message-id/CAEepm=15e9L695yVCO-_OkBVbsPupyXqzYWzzDmj-bdJ6o2+Pw@mail.gmail.com pg_recvlogical.c doesn't build with --disable-integer-datetimes]<br />
** Fixed by commit b6aa17e0ae367afdcea07118e016111af4fa6bc3 and c29aff959dc64f7321062e7f33d8c6ec23db53d3<br />
<br />
* [https://www.postgresql.org/message-id/20170207201932.GH9812@tamriel.snowman.net pg_dump and PUBLICATIONS]<br />
** Fixed by commit 05227e0c345247c9e9ff91445850f414e2b0bb70<br />
<br />
* [https://www.postgresql.org/message-id/CA+TgmoYpwN0AkaCqhAEVuxtHqGkz=yJzgQxbvucEQMPE-tLkEA@mail.gmail.com simplehash performance regressions]<br />
** Fixed by commit d4c62a6b623d6eef88218158e9fa3cf974c6c7e5<br />
<br />
* [https://www.postgresql.org/message-id/CAGz5QCLJJ1NhVQjQSreF-UoQyVoN6Krg54gZrr5-Ha5PqP2ksw@mail.gmail.com exposing wait events for non-backends]<br />
** Fixed by commit fc70a4b0df38bda6a13941f1581f25fbb643c7f3<br />
<br />
* [https://www.postgresql.org/message-id/b3d37313-acf0-d8fd-783f-c32f7c0667e6@lab.ntt.co.jp Partitioning vs INSERT ON CONFLICT]<br />
** Fixed by commit 8355a011a0124bdf7ccbada206a967d427039553<br />
<br />
* [https://www.postgresql.org/message-id/c72cbc58-9866-0622-86c1-f01cc4064e73%40lab.ntt.co.jp Bug in list partitioning tuple-routing]<br />
** Fixed by commit 7ecb7143589f38d679bb566311dfa9be1a650fd5<br />
<br />
* [https://www.postgresql.org/message-id/CAMkU%3D1w-9Qe%3DFf1o6bSaXpNO9wqpo7_9GL8_CVhw4BoVVHasqg%40mail.gmail.com segfault in hot_standby for hash indexes]<br />
** Fixed by commit c4c51541e22bf7f2da8ecf6986271687b0d7a90e</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2017_Developer_Meeting&diff=29455PgCon 2017 Developer Meeting2017-02-23T09:08:30Z<p>Horiguti: /* RSVPs */</p>
<hr />
<div>A meeting of the interested PostgreSQL developers is being planned for Tuesday 23 May, 2017 at the University of Ottawa, prior to pgCon 2017. In order to keep the numbers manageable, this meeting is by '''invitation only'''. Unfortunately it is quite possible that we've overlooked important individuals during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org).<br />
<br />
Please note that the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 10.0/9.6 release cycles. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies.<br />
<br />
As at last years event, an Unconference will be held on Wednesday for in-depth discussion of technical topics.<br />
<br />
This is a PostgreSQL Community event.<br />
<br />
== Meeting Goals ==<br />
<br />
* Define the schedule for the 11.0 release cycle<br />
* Address any proposed timing, policy, or procedure issues<br />
* Address any proposed [http://en.wikipedia.org/wiki/Wicked_problem Wicked problems]<br />
<br />
== Time & Location ==<br />
<br />
The meeting will be:<br />
<br />
* 9:00AM to 12PM<br />
* TBD...<br />
* University of Ottawa.<br />
<br />
Coffee, tea and snacks will be served starting at 8:45am. Lunch will be after the meeting.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Oleg Bartunov<br />
* Joe Conway<br />
* Peter Eisentraut<br />
* Stephen Frost<br />
* Peter Geoghegan<br />
* Robert Haas<br />
* Kyotaro Horiguchi<br />
* Amit Kapila<br />
* Haribabu Kommi<br />
* Alexander Korotkov<br />
* Noah Misch<br />
* Bruce Momjian<br />
* Thomas Munro<br />
* Dave Page<br />
* Michael Paquier<br />
* Teodor Sigaev<br />
<br />
== Agenda Items ==<br />
<br />
* Upgrading PostgreSQL without a downtime.<br />
* Commit fest management (Michael)<br />
* Stable branch naming post-10<br />
* ''Please add suggestions for agenda items here.''<br />
<br />
==Agenda==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Time<br />
!Item<br />
!Presenter<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|09:00 - 09:10<br />
|Welcome and introductions<br />
|Dave Page<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|10:30 - 10:45<br />
|Coffee break<br />
|All<br />
<br />
|- <br />
|11:30 - 12:00<br />
|Any other business<br />
|Dave Page<br />
<br />
|- style="font-style:italic;background-color:lightgray;"<br />
|12:00<br />
|Lunch<br />
|<br />
|}<br />
<br />
== Minutes ==</div>Horigutihttps://wiki.postgresql.org/index.php?title=Todo&diff=28825Todo2016-12-27T08:23:40Z<p>Horiguti: /* Point-In-Time Recovery (PITR) */</p>
<hr />
<div><div style="margin: 1ex 1em; float: right;"><br />
__TOC__<br />
</div><br />
<br />
This list contains '''known PostgreSQL bugs and feature requests''' and we hope it is complete. If you would like to work on an item, please read the [[Developer FAQ]] first. There is also a [[Development_information|development information page]].<br />
<br />
* {{TodoPending}} - marks ordinary, incomplete items<br />
* {{TodoEasy}} - marks items that are easier to implement<br />
* {{TodoDone}} - marks changes that are done, and will appear in the PostgreSQL 10 release.<br />
<br />
For help on editing this list, please see [[Talk:Todo]]. <b>Please do not add items here without discussion on the [[Mailing_Lists|mailing list]].</b><br />
<br />
== Development Process ==<br />
<br />
<b>WARNING for Developers:</b> Unfortunately this list does not contain all the information necessary for someone to start coding a feature. Some of these items might have become unnecessary since they were added --- others might be desirable but the implementation might be unclear. When selecting items listed below, be prepared to first discuss the value of the feature. '''Do not assume that you can select one, code it and then expect it to be committed.''' Always discuss design on Hackers list before starting to code. The flow should be:<br />
<br />
Desirability -> Design -> Implement -> Test -> Review -> Commit<br />
<br />
<div style="padding: 1ex 4em;"><br />
== Administration ==<br />
<br />
{{TodoItem<br />
|Allow administrators to cancel long-lived prepared transactions<br />
* [http://www.postgresql.org/message-id/20961.1403630269@sss.pgh.pa.us Re: idle_in_transaction_timeout]<br />
}}<br />
<br />
{{TodoItem<br />
|Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php <nowiki>Removing unreferenced files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow log_min_messages to be specified on a per-module basis<br />
|This would allow administrators to see more detailed information from specific sections of the backend, e.g. checkpoints, autovacuum, etc. Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. See also [[Logging Brainstorm]].}}<br />
<br />
{{TodoItemDone<br />
|Simplify creation of partitioned tables<br />
|This would allow creation of partitioned tables without requiring creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints for rapid partition selection. Options could include range and hash partition selection. See also [[Table partitioning]]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom variables to appear in pg_settings()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00850.php <nowiki>Re: count(*) performance improvement ideas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have custom variables be transaction-safe<br />
* {{MessageLink|4B577E9F.8000505@dunslane.net|Custom GUCs still a bit broken}}<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the SQL-standard mechanism whereby REVOKE ROLE revokes only the privilege granted by the invoking role, and not those granted by other roles<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php <nowiki>Re: Grantor name gets lost when grantor role dropped</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent query cancel packets from being replayed by an attacker, especially when using SSL<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00345.php <nowiki>Replay attack of query cancel</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a way to query the log collector subprocess to determine the name of the currently active log file<br />
* [http://archives.postgresql.org/pgsql-general/2008-11/msg00418.php <nowiki>Current log files when rotating?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve logging of prepared transactions recovered during startup<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php <nowiki>&quot;recovering prepared transaction&quot; after server restart message</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider supporting incremental base backups<br />
* http://www.postgresql.org/message-id/543D5AA7.9@2ndquadrant.it<br />
}}<br />
<br />
=== Configuration files ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Consider normalizing fractions in postgresql.conf, perhaps using '%'<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php <nowiki>Fractions in GUC variables</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve LDAP authentication configuration options<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01745.php <nowiki>Proposed Patch - LDAPS support for servers on port 636 w/o TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add external tool to auto-tune some postgresql.conf parameters<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00000.php <nowiki>Re: Overhauling GUCS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00033.php <nowiki>Simple postgresql.conf wizard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow pg_hba.conf to process include files<br />
* [http://www.postgresql.org/message-id/86fvnm5t44.fsf@jerry.enova.com HBA files w/include support]<br />
}}<br />
<br />
{{TodoItem<br />
|Create utility to compute accurate random_page_cost value<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00162.php<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00362.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow synchronous_standby_names to be disabled after communication failure with all synchronous standby servers exceeds some timeout<br />
|This also requires successful execution of a synchronous notification command.<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00409.php<br />
* [http://www.postgresql.org/message-id/BF2827DCCE55594C8D7A8F7FFD3AB7713DD9A622@SZXEML508-MBX.china.huawei.com Standalone synchronous master]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-12/msg01224.php<br />
}}<br />
<br />
{{TodoItem<br />
|Fix log_line_prefix to display the transaction id (%x) for statements not in a transaction block<br />
* Currently it displays zero.<br />
}}<br />
<br />
{{TodoItem<br />
|Adjust rounding behavior for numeric GUC values<br />
* http://www.postgresql.org/message-id/53BE3815.4010203@po.ntts.co.jp<br />
}}<br />
<br />
{{TodoItemDone<br />
|Develop replacement for MD5 authentication<br />
* [http://www.postgresql.org/message-id/20150304020146.GD24063@momjian.us MD5 authentication needs help]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Tablespaces ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow a database in tablespace t1 with tables created in tablespace t2 to be used as a template for a new database created with default tablespace t2<br />
|Currently all objects in the default database tablespace must have default tablespace specifications. This is because new databases are created by copying directories. If you mix default tablespace tables and tablespace-specified tables in the same directory, creating a new database from such a mixed directory would create a new database with tables that had incorrect explicit tablespaces. To fix this would require modifying pg_class in the newly copied database, which we don't currently do.}}<br />
<br />
{{TodoItem<br />
|Allow reporting of which objects are in which tablespaces<br />
|This item is difficult because a tablespace can contain objects from multiple databases. There is a server-side function that returns the databases which use a specific tablespace, so this requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace.}}<br />
<br />
{{TodoItem<br />
|Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original}}<br />
<br />
{{TodoItem<br />
|Allow per-tablespace quotas}}<br />
<br />
{{TodoItem<br />
|Allow tablespaces on RAM-based partitions for unlogged tables<br />
* http://archives.postgresql.org/pgsql-advocacy/2011-05/msg00033.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow toast tables to be moved to a different tablespace<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-05/msg00980.php moving toast table to its own tablespace]<br />
* {{messageLink|CAFEQCbH756DyyAPQ1ykh3+b+kE1-EhWRww1WO_x5v38C-uLnUg@mail.gmail.com|patch : Allow toast tables to be moved to a different tablespace}}<br />
}}<br />
<br />
{{TodoItem<br />
|Close race in DROP TABLESPACE on Windows<br />
* http://www.postgresql.org/message-id/20141108050423.GA642055@tornado.leadboat.com<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Statistics Collector ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Testing pgstat via pg_regress is tricky and inefficient. Consider making a dedicated pgstat test-suite.<br />
* [http://www.postgresql.org/message-id/20141216142937.GX1768@alvh.no-ip.org <nowiki>Re: REVIEW: Track TRUNCATE via pgstat</nowiki>]<br />
}}<br />
{{TodoItem<br />
|Track number of WAL files ready to be archived in pg_stat_archiver <br />
* [http://www.postgresql.org/message-id/CAB7nPqSCrcZGGy_SmpT7ubSzVGNMtphYU1JJZYyapHuN46E-Tw@mail.gmail.com <nowiki>pg_stat_archiver missing feature</nowiki>]<br />
* [http://www.postgresql.org/message-id/53F5AB0A.5060502@dalibo.com Track number of files ready to be archived in pg_stat_archiver]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SSL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SSL CRL files to be re-read during configuration file reload, rather than requiring a server restart<br />
|Unlike SSL CRT files, CRL (Certificate Revocation List) files are updated frequently<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00832.php <nowiki>Automatic CRL reload</nowiki>]<br />
Alternatively or additionally supporting OCSP (online certificate security protocol) would provide real-time revocation discovery without reloading<br />
}}<br />
<br />
{{TodoItem<br />
| Re-read SSL certificates on server reload<br />
* [http://www.postgresql.org/message-id/CAAS3tyLJcv-m0CqfMrrxUjwa9_FKscKuAKT9_L41wNuJZywM2Q@mail.gmail.com re-reading SSL certificates during server reload]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow automatic selection of SSL client certificates from a certificate store<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00406.php <nowiki>Allow multiple certificates or keys in the postgresql.crt/.key files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Send the full certificate server chain to the client<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-12/msg00145.php BUG #5245: Full Server Certificate Chain Not Sent to client]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Point-In-Time Recovery (PITR) ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow archive_mode to be changed without server restart?<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01655.php <nowiki>Enabling archive_mode without restart</nowiki>]<br />
}}<br />
<br />
{{TodoItemDone<br />
|Consider avoiding WAL switching via archive_timeout if there has been no database activity<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01469.php <nowiki>archive_timeout behavior for no activity</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg00395.php <nowiki>Re: archive_timeout behavior for no activity</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Standby server mode ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
| Allow pg_xlogfile_name() to be used in recovery mode<br />
* [http://archives.postgresql.org/message-id/3f0b79eb1001190135vd9f62f1sa7868abc1ea61d12@mail.gmail.com <nowiki>Streaming replication and pg_xlogfile_name()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Prevent variables inherited from the server environment from begin used for making streaming replication connections<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01011.php <nowiki>Re: Parameter name standby_mode</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Change walsender so that it applies per-role settings<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00642.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure configuration parameters for standby mode<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01820.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Data Types ==<br />
<br />
{{TodoItem<br />
|Fix data types where equality comparison is not intuitive, e.g. box<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01643.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for public SYNONYMs<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php <nowiki>Proposal for SYNONYMS</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg02043.php<br />
* http://archives.postgresql.org/pgsql-general/2010-12/msg00139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for SQL-standard GENERATED/IDENTITY columns<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php <nowiki>Re: Three weeks left until feature freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php <nowiki>GENERATED ... AS IDENTITY, Was: Re: Feature Freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php <nowiki>Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php <nowiki>Re: [HACKERS] Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php <nowiki>IDENTITY/GENERATED patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider placing all sequences in a single table, or create a system view<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-02/msg00258.php Removing special case OID generation]<br />
* [http://www.postgresql.org/message-id/14203.1450155926@sss.pgh.pa.us Re: Unused(?) field Form_pg_sequence.sequence_name, not updated by seq rename]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a special data type for regular expressions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php <nowiki>Why is there a tsquery data type?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow deleting enumerated values from an existing enumerated data type<br />
* [http://www.postgresql.org/message-id/CAO%3D2mx6uvgPaPDf-rHqG8%3D1MZnGyVDMQeh8zS4euRyyg4D35OQ@mail.gmail.com Alter or rename enum value]<br />
}}<br />
<br />
{{TodoItem<br />
|Support scoped IPv6 addresses in the inet type<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php <nowiki>strange problem with ip6</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add overlaps geometric operators that ignore point overlaps<br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00861.php<br />
}}<br />
<br />
{{TodoItem<br />
| Add IMMUTABLE column attribute<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00623.php<br />
}}<br />
<br />
=== Domains ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow functions defined as casts to domains to be called during casting<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php <nowiki>bug? non working casts for domain</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php <nowiki>TODO: Fix CREATE CAST on DOMAINs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow values to be cast to domain types<br />
* [http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php <nowiki>Domain casting still doesn't work right</nowiki>] <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php <nowiki>domain casting?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00812.php<br />
}}<br />
<br />
{{TodoItem<br />
|Make domains work better with polymorphic functions<br />
* [http://archives.postgresql.org/message-id/4887.1228700773@sss.pgh.pa.us Polymorphic types vs. domains]<br />
* [http://archives.postgresql.org/message-id/15535.1238774571@sss.pgh.pa.us some difficulties with fixing it]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Dates and Times ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow infinite intervals just like infinite timestamps<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00076.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC<br />
|If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php <nowiki>timestamp with time zone a la sql99</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have timestamp subtraction not call justify_hours()?<br />
* [http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php <nowiki>timestamp subtraction (was Re: formatting intervals with to_char)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow a comma to denote fractional seconds in ISO-8601-compliant times (and timestamps)<br />
* http://www.postgresql.org/message-id/7D5AC9AB-238D-4FE7-8857-18D98190A4D9@justatheory.com<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Arrays ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add support for arrays of domains<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php <nowiki>Re: updated WIP: arrays of composites</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single-byte header storage for array elements}}<br />
<br />
{{TodoItem<br />
|Add function to detect if an array is empty<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00475.php <nowiki>Re: array_length()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULLs in arrays<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-11/msg00009.php <nowiki>BUG #4509: array_cat's null behaviour is inconsistent</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01040.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== MONEY Data Type ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add locale-aware MONEY type, and support multiple currencies<br />
* [http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php <nowiki>A real currency type</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php <nowiki>Money type todos?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Text Search ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dictionaries to change the token that is passed on to later dictionaries<br />
* [http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php <nowiki>a tsearch2 (8.2.4) dictionary that only filters out stopwords</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a function-based API for '@@' searches<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php <nowiki>Some recent advances in<br />
full-text search</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve text search error messages<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php <nowiki>Poorly designed tsearch NOTICEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing error to warning for strings larger than one megabyte<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php <nowiki>BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|tsearch and tsdicts regression tests fail in Turkish locale on glibc<br />
* [http://archives.postgresql.org/message-id/49749645.5070801@gmx.net tsearch with Turkish locale]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of dash and plus signs in email address user names, and perhaps improve URL parsing<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00772.php<br />
* [http://archives.postgresql.org/message-id/E1Ri8il-0008Ct-9p@wrigleys.postgresql.org tsearch does not recognize all valid emails]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve default parser, to more easily allow adding new tokens<br />
* http://archives.postgresql.org/message-id/23485.1297727826@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional support functions<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00319.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== XML ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow XML arrays to be cast to other data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php <nowiki>proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add XML Schema validation and xmlvalidate functions (SQL:2008)}}<br />
<br />
{{TodoItem<br />
|Add xmlvalidatedtd variant to support validating against a DTD?}}<br />
<br />
{{TodoItem<br />
|Relax-NG validation; libxml2 supports this already}}<br />
<br />
{{TodoItem<br />
|Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-01/msg00135.php <nowiki>BUG #4622: xpath only work in utf-8 server encoding</nowiki>] <br />
* http://archives.postgresql.org/message-id/4110.1238973350@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add functions from SQL:2006: XMLDOCUMENT, XMLCAST, XMLTEXT}}<br />
<br />
{{TodoItem<br />
|Add XMLNAMESPACES support in XMLELEMENT and elsewhere}}<br />
<br />
{{TodoItem<br />
|Move XSLT from contrib/xml2 to a more reasonable location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00539.php<br />
}}<br />
<br />
{{TodoItem<br />
|Report errors returned by the XSLT library<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00562.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve the XSLT parameter passing API<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00416.php<br />
}}<br />
<br />
{{TodoItem<br />
|XML Canonical: Convert XML documents to canonical form to compare them. libxml2 has support for this.}}<br />
<br />
{{TodoItem<br />
|Add pretty-printed XML output option<br />
|Parse a document and serialize it back in some indented form. libxml2 might support this.}}<br />
<br />
{{TodoItem<br />
|Add XMLQUERY (from the SQL/XML standard)}}<br />
<br />
{{TodoItem<br />
|Allow XML shredding<br />
|In some cases shredding could be better option (if there is no need to keep XML docs entirely, e.g. if we have already developed tools that understand only relational data. This would be a separate module that implements annotated schema decomposition technique, similar to DB2 and SQL Server functionality.}}<br />
<br />
{{TodoItem<br />
|XPath: Adding the <x> at the root causes problems [http://archives.postgresql.org/pgsql-bugs/2008-05/msg00184.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/pgsql-general/2008-07/msg00613.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [http://archives.postgresql.org/pgsql-general/2008-05/msg00823.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table is pretty broken anyway [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02424.php]}}<br />
<br />
{{TodoItem<br />
|better handling of XPath data types [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00616.php] [http://archives.postgresql.org/message-id/004a01c90e90$4b986d90$e2c948b0$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|Improve handling of PIs and DTDs in xmlconcat() [http://archives.postgresql.org/message-id/200904211211.n3LCB09p008988@wwwmaster.postgresql.org]}}<br />
<br />
{{TodoItem<br />
|Restructure XML and /contrib/xml2 functionality<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02314.php<br />
}}<br />
<br />
{{TodoItem<br />
|Verify Xpath escaping behavior<br />
* [http://www.postgresql.org/message-id/E1VOXZv-0008Q9-0Z@wrigleys.postgresql.org Xpath behaviour unintuitive / arguably wrong]<br />
* [http://www.postgresql.org/message-id/CAAY5AM1L83y79rtOZAUJioREO6n4%3DXAFKcGu6qO3hCZE1yJytg@mail.gmail.com xpath missing entity decoding - bug or feature]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Functions ==<br />
<br />
{{TodoItem<br />
|Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg01403.php <nowiki>Re: BUG #2917: spi_prepare doesn't accept typename aliases</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01160.php <nowiki>RFC for adding typmods to functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix IS OF so it matches the ISO specification, and add documentation<br />
* [http://archives.postgresql.org/pgsql-patches/2003-08/msg00060.php <nowiki>Re: [HACKERS] IS OF</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00060.php <nowiki>ToDo: add documentation for operator IS OF</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement Boyer-Moore searching in LIKE queries<br />
* {{messageLink|27645.1220635769@sss.pgh.pa.us|TODO item: Implement Boyer-Moore searching (First time hacker)}}<br />
* [https://www.postgresql.org/message-id/CALkFZpcbipVJO%3DxVvNQMZ7uLUgHzBn65GdjtBHdeb47QV4XzLw@mail.gmail.com Implement Boyer-Moore searching in LIKE queries]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent malicious functions from being executed with the permissions of unsuspecting users<br />
|Indexed functions are safe, so VACUUM and ANALYZE are safe too. Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php <nowiki>Some notes about the index-functions security vulnerability</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce memory usage of aggregates in set returning functions<br />
* [http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php <nowiki>Re: Performance of aggregates over set-returning functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/ltree operator<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php <nowiki>BUG #3720: wrong results at using ltree</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/btree_gist's implementation of inet indexing<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-10/msg00099.php <nowiki>BUG #5705: btree_gist: Index on inet changes query result</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have /contrib/dblink reuse unnamed connections<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php <nowiki>dblink un-named connection doesn't get re-used</nowiki>]<br />
}}<br />
<br />
=== Character Formatting ===<br />
<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Allow to_date() and to_timestamp() to accept localized month names}}<br />
<br />
{{TodoItem<br />
|Add missing parameter handling in to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php <nowiki>Re: to_char and i18n</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.<br />
* discussed in [http://archives.postgresql.org/message-id/37ed240d0907290836w42187222n18664dfcbcb445b1@mail.gmail.com "to_char, support for EEEE format"]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix to_number() handling for values not matching the format string<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01447.php <nowiki>Re: numeric_to_number() function skipping some digits</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Multi-Language Support ==<br />
<br />
{{TodoItem<br />
|Add NCHAR (as distinguished from ordinary varchar)<br />
* [http://www.postgresql.org/message-id/A756FAD7EDC2E24F8CAB7E2F3B5375E918B12BC0@FALEX03.au.fjanz.com UTF8 national character data type support WIP patch and list of open issues.]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-03/msg01520.php <nowiki>Open issues for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with text search configurations<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with to_char() and related functions<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support collation-sensitive equality and hashing functions<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-06/msg00472.php <nowiki> contrib/citext versus collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a LOCALE option to CREATE DATABASE, as a shorthand<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00119.php <nowiki> Re: 8.4 open items list</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support multiple simultaneous character sets, per SQL:2008}}<br />
<br />
{{TodoItem<br />
|Improve UTF8 combined character handling?}}<br />
<br />
{{TodoItem<br />
|Add octet_length_server() and octet_length_client()}}<br />
<br />
{{TodoItem<br />
|Make octet_length_client() the same as octet_length()?}}<br />
<br />
{{TodoItem<br />
|Fix problems with wrong runtime encoding conversion for NLS message files}}<br />
<br />
{{TodoItem<br />
|Fix contrib/fuzzystrmatch to work with multibyte encodings<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00047.php <nowiki> soundex function returns UTF-16 characters</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00138.php <nowiki> dmetaphone woes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Change memory allocation for multi-byte functions so memory is allocated inside conversion functions<br />
|Currently we preallocate memory based on worst-case usage.}}<br />
<br />
{{TodoItem<br />
|Add ability to use case-insensitive regular expressions on multi-byte characters<br />
|Currently it works for UTF-8, but not other multi-byte encodings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00433.php <nowiki>Regexps vs. locale</nowiki>]<br />
* {{MessageLink|20091201210024.B1393753FB7@cvs.postgresql.org|A partial solution for UTF-8}}<br />
}}<br />
<br />
{{TodoItem<br />
|Improve encoding of connection startup messages sent to the client<br />
|Currently some authentication error messages are sent in the server encoding<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00801.php <nowiki>encoding of PostgreSQL messages</nowiki>]<br />
* [http://www.postgresql.org/message-id/20131220030725.GA1411150@tornado.leadboat.com multibyte messages are displayed incorrectly on the client]<br />
}}<br />
<br />
{{TodoItem<br />
|Windows: Cache MessageEncoding conversion for use outside transactions<br />
* http://www.postgresql.org/message-id/20150812055719.GA1945333@tornado.leadboat.com<br />
}}<br />
<br />
{{TodoItem<br />
|More sensible support for Unicode combining characters, normal forms<br />
* http://archives.postgresql.org/message-id/200904141532.44618.peter_e@gmx.net<br />
}}<br />
<br />
{{TodoItem<br />
|Detect operating system collation changes, or make Postgres immune to them<br />
* http://www.postgresql.org/message-id/F8268DB6-B50F-429F-8289-DA8FFA5F22BA@tripadvisor.com<br />
* See also [[Todo:ICU]]<br />
* [http://www.postgresql.org/message-id/18C8A481-33A6-4483-8C24-B8CE70DB7F27@eggerapps.at Palle Girgensohn's ICU patch]<br />
}}<br />
<br />
== Views and Rules ==<br />
<br />
{{TodoItem<br />
|Allow VIEW/RULE recompilation when the underlying tables change<br />
|This is both difficult and controversial.<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01723.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change"]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01724.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change2"]<br />
* [http://archives.postgresql.org/message-id/CACk%3DU9NFSzWrEba8G5dZ%3DTZLy3_hx3QXGyCcKVWT%3D4iA1FjMuA@mail.gmail.com VIEW still referring to old name of field]<br />
* [http://www.postgresql.org/message-id/87mwe4k46y.fsf@commandprompt.com Re-create dependent views on ALTER TABLE ALTER COLUMN ... TYPE?]<br />
}}<br />
{{TodoItem<br />
|Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php <nowiki>RETURNING and DO INSTEAD ... Intentional or not?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to modify views via ALTER TABLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00691.php <nowiki>Re: idea: storing view source in system catalogs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01410.php <nowiki>modifying views</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00300.php <nowiki>Re: patch: Add columns via CREATE OR REPLACE VIEW</nowiki>]<br />
}}<br />
<br />
== SQL Commands ==<br />
<br />
{{TodoItem<br />
|Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT<br />
* [http://dissipatedheat.com/2011/11/10/how-not-to-write-a-patch-for-postgresql/ How not to write this patch.]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve type determination of unknown (NULL or quoted literal) result columns for UNION/INTERSECT/EXCEPT<br />
* [http://archives.postgresql.org/message-id/9799.1302719551@sss.pgh.pa.us <nowiki>UNION construct type cast gives poor error message</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow prepared transactions with temporary tables created and dropped in the same transaction, and when an ON COMMIT DELETE ROWS temporary table is accessed<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php <nowiki>Re: &quot;could not open relation 1663/16384/16584: No such file or directory&quot; in a specific combination of transactions with temp tables</nowiki>]<br />
* [http://archives.postgresql.org/message-id/492543D5.9050904@enterprisedb.com A suggestion on how to implement this]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a GUC variable to warn about non-standard SQL usage in queries}}<br />
<br />
{{TodoItem<br />
|Add NOVICE output level for helpful messages<br />
|For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.<br />
}}<br />
<br />
{{TodoItem<br />
|Add SQL-standard MERGE command<br />
|MERGE is typically used to merge two tables, for data warehousing type use cases. PostgreSQL has an "UPSERT" command as of version 9.5, with the addition of "ON CONFLICT DO UPDATE". SQL MERGE is independently useful, though.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow NOTIFY in rules involving conditionals}}<br />
<br />
{{TodoItem<br />
|Allow LISTEN on patterns<br />
* http://www.postgresql.org/message-id/52693FC5.7070507@gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Simplify dropping roles that have objects in several databases}}<br />
<br />
{{TodoItem<br />
|Add support for WITH RECURSIVE ... CYCLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00291.php <nowiki>WITH RECURSIVE ... CYCLE in vanilla SQL: issues with arrays of rows</nowiki>]}}<br />
<br />
{{TodoItem<br />
|Add DEFAULT .. AS OWNER so permission checks are done as the table owner<br />
|This would be useful for SERIAL nextval() calls and CHECK constraints.}}<br />
<br />
{{TodoItem<br />
|Allow DISTINCT to work in multiple-argument aggregate calls}}<br />
<br />
{{TodoItem<br />
|Add comments on system tables/columns using the information in catalogs.sgml<br />
|Ideally the information would be pulled from the SGML file automatically.}}<br />
<br />
{{TodoItem<br />
|Prevent the specification of conflicting transaction read/write options<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00684.php <nowiki>Re: SET TRANSACTION and SQL Standard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow DELETE and UPDATE to be used with LIMIT and ORDER BY<br />
* http://archives.postgresql.org/pgadmin-hackers/2010-04/msg00078.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01997.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow PREPARE of cursors}}<br />
<br />
{{TodoItem<br />
|Have DISCARD PLANS discard plans cached by functions<br />
|DISCARD ALL should do the same.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00431.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid multiple-evaluation of BETWEEN and IN arguments containing volatile expressions<br />
* http://archives.postgresql.org/message-id/4D95B605.2020709@enterprisedb.com<br />
}}<br />
<br />
=== CREATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow CREATE TABLE AS to determine column lengths for complex expressions like SELECT col1 || col2}}<br />
<br />
{{TodoItem<br />
|Have WITH CONSTRAINTS also create constraint indexes<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php <nowiki>Re: CREATE TABLE LIKE INCLUDING INDEXES support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move NOT NULL constraint information to pg_constraint<br />
|Currently NOT NULL constraints are stored in pg_attribute without any designation of their origins, e.g. primary keys. One manifest problem is that dropping a PRIMARY KEY constraint does not remove the NOT NULL constraint designation. Another issue is that we should probably force NOT NULL to be propagated from parent tables to children, just as CHECK constraints are. (But then does dropping PRIMARY KEY affect children?)<br />
* http://archives.postgresql.org/message-id/19768.1238680878@sss.pgh.pa.us<br />
* http://archives.postgresql.org/message-id/200909181005.n8IA5Ris061239@wwwmaster.postgresql.org<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg01223.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00358.php<br />
* [https://www.postgresql.org/message-id/CAB7nPqTPXgX9HiyhhtAgpW7jbA1iskMCSoqXPEEB_KYXYy1E1Q@mail.gmail.com Prevent ALTER TABLE DROP NOT NULL on child tables if parent column has it]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent concurrent CREATE TABLE from sometimes returning a cryptic error message<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php <nowiki>BUG #3692: Conflicting create table statements throw unexpected error</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add CREATE SCHEMA ... LIKE that copies a schema}}<br />
<br />
{{TodoItem<br />
|Fix CREATE OR REPLACE FUNCTION to not leave objects depending on the function in inconsistent state<br />
* [http://archives.postgresql.org/pgsql-general/2008-08/msg00985.php indexes on functions and create or replace function]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow temporary tables to exist as empty by default in all sessions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00006.php <nowiki>what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg01329.php <nowiki>idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-05/msg00016.php <nowiki>Re: idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg01098.php <nowiki>global temporary tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-04/msg01148.php Temporary tables under hot standby]<br />
* [http://www.postgresql.org/message-id/CAFj8pRC2h6qhHsFbcE7b_7SagiS6o%3D5J2UvCwCb05Ka1XFv_Ng@mail.gmail.com Implementation of global temporary tables?]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of "distinct" types<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01647.php <nowiki>Distinct types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider analyzing temporary tables when they are first used in a query<br />
|Autovacuum cannot analyze or vacuum temporary tables.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00416.php <nowiki>autovacuum and temp tables support</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== UPDATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Research self-referential UPDATEs that see inconsistent row versions in read-committed mode<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php <nowiki>Concurrently updating an updatable view</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve performance of EvalPlanQual mechanism that rechecks already-updated rows<br />
|This is related to the previous item, which questions whether it even has the right semantics<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-09/msg00045.php <nowiki>BUG #4401: concurrent updates to a table blocks one update indefinitely</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-07/msg00302.php <nowiki>BUG #4945: Parallel update(s) gone wild</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ALTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have ALTER TABLE RENAME of a SERIAL column rename the sequence<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CADLWmXUV4LbLhMZL8rYMhCy72aZZLB5BSARPQVgoX0BrxA0FFg@mail.gmail.com renaming implicit sequences]<br />
}}<br />
<br />
{{TodoItem<br />
|Have ALTER SEQUENCE RENAME rename the sequence name stored in the sequence table<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-09/msg00092.php <nowiki>BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER DOMAIN to modify the underlying data type}}<br />
<br />
{{TodoItem<br />
|Allow ALTER TABLESPACE to move the tablespace to different directories}}<br />
<br />
{{TodoItem<br />
|Allow moving system tables to other tablespaces, where possible<br />
|Currently non-global system tables must be in the default database tablespace. Global system tables can never be moved.}}<br />
<br />
{{TodoItem<br />
|Have ALTER INDEX update the name of a constraint using that index}}<br />
<br />
{{TodoItem<br />
|Allow column display reordering by recording a display, storage, and permanent id for every column?<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php <nowiki>Re: column ordering, was Re: [PATCHES] Enums patch v2</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01029.php <nowiki>Column reordering in pg_dump</nowiki>]<br />
* http://archives.postgresql.org/message-id/1324412114-sup-9608@alvh.no-ip.org<br />
* [http://www.postgresql.org/message-id/CAApHDvqhnuznxd4xVMFDcGn+nHVYyUtJ-TvbRsOuR%3DPaVbbGqw@mail.gmail.com logical column order and physical column order]<br />
* [http://www.postgresql.org/message-id/20141209174146.GP1768@alvh.no-ip.org logical column ordering]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow deactivating (and reactivating) indexes via ALTER TABLE<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg01191.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER OPERATOR ... RENAME<br />
|needs to consider effects of changing operator precedence<br />
* [http://archives.postgresql.org/message-id/1322948781.26266.9.camel@vanquo.pezone.net Missing rename support]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== CLUSTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Automatically maintain clustering on a table<br />
|This might require some background daemon to maintain clustering during periods of low usage. It might also require tables to be only partially filled for easier reorganization. Another idea would be to create a merged heap/index data file so an index lookup would automatically access the heap data too. A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function.<br />
* [http://archives.postgresql.org/pgsql-performance/2004-08/msg00350.php <nowiki>Equivalent praxis to CLUSTERED INDEX?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00155.php <nowiki>Re: Grouped Index Tuples</nowiki>]<br />
* http://community.enterprisedb.com/git/<br />
* [http://archives.postgresql.org/pgsql-performance/2009-10/msg00346.php <nowiki>Re: maintain_cluster_order_v5.patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow CLUSTER to be used on partial indexes<br />
* http://www.postgresql.org/message-id/CAMkU%3D1zYwoHHsqJ8wfK3GdG_t_a6t4RK-GFDSKymQ0EGP%3DtypA@mail.gmail.com<br />
}} <br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== COPY ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report error lines and continue<br />
|This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php <nowiki>Re: VLDB Features</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report errors sooner<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php <nowiki>Timely reporting of COPY errors</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY FROM to create index entries in bulk<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php <nowiki>Batch update of indexes on data loading</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve COPY performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php <nowiki>Re: 8.3 / 8.2.6 restore comparison</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01882.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow a stalled COPY to exit if the backend is terminated<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00067.php <nowiki>Re: possible bug not in open items</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY "text" format to output a header<br />
* [http://www.postgresql.org/message-id/CACfv+pJ31tesLvncJyP24quo8AE+M0GP6p6MEpwPv6yV8%3DsVHQ@mail.gmail.com Why doesn't COPY support the HEADER options for tab-separated output?]<br />
}}<br />
<br />
{{TodoItem<br />
|Have COPY FREEZE set PD_ALL_VISIBLE<br />
* [http://www.postgresql.org/message-id/CAMkU%3D1w3osJJ2FneELhhNRLxfZitDgp9FPHee08NT2FQFmz_pQ@mail.gmail.com items]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY "text" format to output a header<br />
* [http://www.postgresql.org/message-id/CACfv+pJ31tesLvncJyP24quo8AE+M0GP6p6MEpwPv6yV8%3DsVHQ@mail.gmail.com COPY FREEZE and PD_ALL_VISIBLE]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== GRANT/REVOKE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SERIAL sequences to inherit permissions from the base table?}}<br />
<br />
{{TodoItem<br />
|Allow dropping of a role that has connection rights<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00736.php <nowiki>DROP ROLE dependency tracking ...</nowiki>]<br />
}}<br />
{{TodoEndSubsection}}<br />
<br />
=== DECLARE CURSOR ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent DROP TABLE from dropping a table referenced by its own open cursor?}}<br />
<br />
{{TodoItem<br />
|Provide some guarantees about the behavior of cursors that invoke volatile functions<br />
* [http://archives.postgresql.org/message-id/20997.1244563664@sss.pgh.pa.us Re: Cursor with hold emits the same row more than once across commits in 8.3.7]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SHOW/SET ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM ANALYZE, and CLUSTER}}<br />
<br />
{{TodoItem<br />
|Rationalize the discrepancy between settings that use values in bytes and SHOW that returns the object count<br />
* [http://archives.postgresql.org/pgsql-docs/2008-07/msg00007.php <nowiki>Re: [ADMIN] shared_buffers and shmmax</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ANALYZE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and actual row counts differ by a specified percentage}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE report rows as floating-point numbers<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg01363.php <nowiki>explain analyze rows=%.0f</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00108.php <nowiki>Re: explain analyze rows=%.0f</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve how ANALYZE computes in-doubt tuples<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php <nowiki>VACUUM/ANALYZE counting of in-doubt tuples</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Remove quadratic time in statistics sender when analyzing many tables<br />
* [http://www.postgresql.org/message-id/flat/CAMkU%3D1wLjAsmJNuB6ZObZmGHqi9jLbK6n1eSgnOc5J1-AUsvUA@mail.gmail.com Thousands of schemas and ANALYZE goes out of memory]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce memory use when analyzing many tables in a single command by making catcache and syscache flushable or bounded.<br />
* [http://www.postgresql.org/message-id/flat/CAMkU%3D1yZnAYvMHENt8%3D9pgwE8q5zmX+mG%3DSXbFHiLkq_qn0B7Q@mail.gmail.com Thousands of schemas and ANALYZE goes out of memory]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Window Functions ===<br />
See {{messageLink|357.1230492361@sss.pgh.pa.us|TODO items for window functions}}.<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Support creation of user-defined window functions<br />
|We have the ability to create new window functions written in C. Is it<br />
worth the effort to create an API that would let them be written in PL/pgsql, etc?}}<br />
<br />
{{TodoItem<br />
|Implement full support for window framing clauses<br />
|In addition to done clauses described in the [http://developer.postgresql.org/pgdocs/postgres/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS latest doc], these clauses are not implemented yet.<br />
* RANGE BETWEEN ... PRECEDING/FOLLOWING<br />
* EXCLUDE<br />
}}<br />
<br />
{{TodoItem<br />
|Investigate tuplestore performance issues<br />
|The tuplestore_in_memory() thing is just a band-aid, we ought to try to solve it properly. tuplestore_advance seems like a weak spot as well.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00152.php <nowiki>tuplestore potential performance problem</nowiki>]<br />
}}<br />
<br />
{{TodoItem|Do we really need so much duplicated code between Agg and WindowAgg?}}<br />
<br />
{{TodoItem<br />
|Teach planner to evaluate multiple windows in the optimal order<br />
|Currently windows are always evaluated in the query-specified order.<br />
* http://archives.postgresql.org/message-id/3CDAD71E9D70417290FCF66F0178D1E1@amd64<br />
}}<br />
<br />
{{TodoItem<br />
|Implement DISTINCT clause in window aggregates<br />
|Some proprietary RDBMSs have implemented it already, so it helps with porting from those.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Integrity Constraints ==<br />
=== Keys ===<br />
<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve deferrable unique constraints for cases with many conflicts<br />
|The current implementation fires a trigger for each potentially conflicting row. This might not scale well for an update that changes many key values at once.<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Referential Integrity ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add MATCH PARTIAL referential integrity}}<br />
<br />
{{TodoItem<br />
|Change foreign key constraint for array -&gt; element to mean element in array?<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-10/msg01814.php <nowiki>foreign keys for array/period contains relationships</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when cascading referential triggers make changes on cascaded tables, seeing the tables in an intermediate state<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php <nowiki>Re: [PATCHES] Work-in-progress referential action trigger timing</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Are ri_KeysEqual checks in the RI enforcement triggers still necessary?<br />
* [http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php <nowiki>Re: Effects of cascading references in foreign keys</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Check Constraints ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Run check constraints only when affected columns are changed<br />
* http://archives.postgresql.org/message-id/1326055327.15293.13.camel@vanquo.pezone.net<br />
}}<br />
<br />
{{TodoItem<br />
|Do not scan the table when a check constraint is added in the same command that adds the column<br />
* [http://www.postgresql.org/message-id/CAMkU%3D1z5vXZ8Txd9_8hvNFovtbGuP4VTitFRN59XDncEHVGtJA@mail.gmail.com skip table scan for adding column with provable check constraints]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Server-Side Languages ==<br />
<br />
{{TodoItem<br />
|Add support for polymorphic arguments and return types to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add support for OUT and INOUT parameters to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add more fine-grained specification of functions taking arbitrary data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00367.php <nowiki>RfD: more powerful &quot;any&quot; types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement stored procedures<br />
|This might involve the control of transaction state and the return of multiple result sets<br />
* [http://archives.postgresql.org/pgsql-general/2008-10/msg00454.php <nowiki>PL/pgSQL stored procedure returning multiple result sets (SELECTs)?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php <nowiki>Proposal: real procedures again (8.4)</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00542.php<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-04/msg01149.php <nowiki>Gathering specs and discussion on feature (post 9.1)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow holdable cursors in SPI}}<br />
<br />
{{TodoItem<br />
|Rethink query plan caching and timing of parse analysis within SQL-language functions<br />
|They should work more like plpgsql functions do ...<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00078.php <nowiki>Re: BUG #6019: invalid cached plan on inherited table</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow regex operations in plperl using UTF8 characters in non-UTF8 encoded databases}}<br />
<br />
=== PL/pgSQL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow listing of record column names, and access to record columns via variables, e.g. columns := r.(*), tval2 := r.(colname)</nowiki><br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://pgxn.org/dist/colnames/ <nowiki>colnames: Extension to retrieve column names from a record</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables<br />
|Because a row is not scalar, do not allow assignment from NULL-valued scalars.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php <nowiki>NULL and plpgsql rows</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider keeping separate cached copies when search_path changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php <nowiki>pl/pgsql Plan Invalidation and search_path</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULL row values vs. NULL rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg01758.php <nowiki>Null row vs. row of nulls in plpgsql</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01973.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve PERFORM handling of WITH queries or document limitation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00309.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Python ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Create a new restricted execution class that will allow passing function arguments in as locals. Passing them as globals means functions cannot be called recursively.<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-02/msg01468.php <nowiki>Re: pl/python do not delete function arguments</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a DB-API compliant interface on top of the SPI interface<br />
* http://petereisentraut.blogspot.com/2011/11/plpydbapi-db-api-for-plpython.html<br />
}}<br />
<br />
{{TodoItem<br />
|For functions returning a setof record with a composite type, cache the I/O functions for the composite type<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02007.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Clients ==<br />
<br />
{{TodoItem<br />
|Add a function like pg_get_indexdef() that reports more detailed index information<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php <nowiki>BUG #3829: Wrong index reporting from pgAdmin III (v1.8.0 rev 6766-6767)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Split out pg_resetxlog output into pre- and post-sections<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg02040.php<br />
}}<br />
<br />
=== psql ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have psql \ds show all sequences and their settings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00916.php <nowiki>Re: TODO item: Have psql show current values for a sequence</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00401.php <nowiki>Quick patch: Display sequence owner</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move psql backslash database information into the backend, use mnemonic commands?<br />
|This would allow non-psql clients to pull the same information out of the database as psql. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php <nowiki>Re: psql \d option list overloaded</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands distinguish default privileges from no privileges<br />
|ACL displays were visibly different for the two cases before we "improved" them by using array_to_string.<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00082.php <nowiki>BUG #6021: There is no difference between default and empty access privileges with \dp</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consistently display privilege information for all objects in psql}}<br />
<br />
{{TodoItemEasy<br />
|\s without arguments (display history) fails with libedit, doesn't use pager either<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-06/msg00114.php <nowiki> psql \s not working - OS X</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a \set variable to control whether \s displays line numbers<br />
|Another option is to add \# which lists line numbers, and allows command execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php <nowiki>Re: psql possible TODO</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Include the symbolic SQLSTATE name in verbose error reports<br />
* [http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php <nowiki>Re: Checking is TSearch2 query is valid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to wrap column values at whitespace boundaries, rather than chopping them at a fixed width.<br />
|Currently, &quot;wrapped&quot; format chops values into fixed widths. Perhaps the word wrapping could use the same algorithm documented in the W3C specification. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php <nowiki>Re: psql wrapped format default for backslash-d commands</nowiki>]<br />
* http://www.w3.org/TR/CSS21/tables.html#auto-table-layout}}<br />
<br />
{{TodoItem<br />
|Add option to print advice for people familiar with other databases<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01845.php <nowiki>MySQL-ism help patch for psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix FETCH_COUNT to handle SELECT ... INTO and WITH queries<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01565.php<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00192.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent psql from sending remaining single-line multi-statement queries after reconnecting<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00159.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01283.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve line drawing characters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00386.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider improving the continuation prompt<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01772.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve speed of tab completion by using LIKE<br />
* http://www.postgresql.org/message-id/20120821174847.GL1267@tamriel.snowman.net<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== pg_dump / pg_restore ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|Dump security labels and comments on databases in a way that allows to load a dump into a differently named database<br />
* [http://www.postgresql.org/message-id/20150710115735.GH26521@alap3.anarazel.de security labels on databases are bad for dump & restore]<br />
|}}<br />
<br />
{{TodoItemEasy<br />
|<nowiki>Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='.</nowiki>}}<br />
<br />
{{TodoItemEasy<br />
|Modify pg_dump to create skeleton views for reload (which are then updated via CREATE OR REPLACE VIEW) when views have circular dependencies. This should eliminate the need for the CREATE RULE "_RETURN" hack currently used to address this issue. Thread and additional information here:<br />
* [http://www.postgresql.org/message-id/25554.1360895028@sss.pgh.pa.us Description of change]<br />
|}}<br />
<br />
{{TodoItem<br />
|Avoid using platform-dependent names for locales in pg_dumpall output<br />
|Using native locale names puts roadblocks in the way of porting a dump to another platform. One possible solution is to get<br />
CREATE DATABASE to accept some agreed-on set of locale names and fix them up to meet the platform's requirements.<br />
* http://archives.postgresql.org/message-id/21396.1241716688@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|In a selective dump, allow dumping of an object and all its dependencies}}<br />
<br />
{{TodoItem<br />
|Stop dumping CASCADE on DROP TYPE commands in clean mode}}<br />
<br />
{{TodoItem<br />
|Allow pg_restore to load different parts of the COPY data for a single table simultaneously}}<br />
<br />
{{TodoItem<br />
|Remove support for dumping from pre-7.3 servers<br />
|In 7.3 and later, we can get accurate dependency information from the server. pg_dump still contains a lot of crufty code<br />
to try to deal with the lack of dependency info in older servers, but the usefulness of maintaining that code grows small.}}<br />
<br />
{{TodoItem<br />
|Refactor handling of database attributes between pg_dump and pg_dumpall<br />
|Currently only pg_dumpall emits database attributes, such as ALTER DATABASE SET commands and database-level GRANTs.<br />
Many people wish that pg_dump would do that. One proposal is to let pg_dump issue such commands if the -C switch was used,<br />
but it's unclear whether that will satisfy the demand.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01031.php <nowiki>ALTER DATABASE vs pg_dump</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-05/msg00010.php summary of the issues]<br />
* [http://www.postgresql.org/message-id/flat/20150730064941.GA1582735@tornado.leadboat.com rehash five years later]<br />
* {{messageLink|21573.1475162949@sss.pgh.pa.us|sketch for division of labor between pg_dump and pg_dumpall}}<br />
}}<br />
<br />
{{TodoItem<br />
|Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name.<br />
|This will require new backend syntax, perhaps COMMENT ON CURRENT DATABASE. This is related to the previous item.}}<br />
<br />
{{TodoItem<br />
|Preserve sparse storage of large objects over dump/restore<br />
* [http://archives.postgresql.org/message-id/18789.1349750451@sss.pgh.pa.us <nowiki>TODO item: teach pg_dump about sparsely-stored large objects</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent PL/pgSQL comment from throwing an error in a non-superuser restore<br />
* [http://www.postgresql.org/message-id/E1VuYH7-0008Rz-SV@wrigleys.postgresql.org Reloading dump fails at COMMENT ON EXTENSION plpgsql]<br />
}}<br />
<br />
{{TodoItem<br />
|Delay REFRESH MATERIALIZED VIEW until dependent indexes are created<br />
* [http://www.postgresql.org/message-id/20140820021530.2534.43156@wrigleys.postgresql.org pg_restore unusable for expensive matviews]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== pg_upgrade ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Handle large object comments<br />
|This is difficult to do because the large object doesn't exist when --schema-only is loaded.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using pg_depend for checking object usage in version.c<br />
}}<br />
<br />
{{TodoItem<br />
|Migrate pg_statistic by dumping it out as a flat file, so analyze is not necessary<br />
* [http://archives.postgresql.org/message-id/CAAZKuFaWdLkK8eozSAooZBets9y_mfo2HS6urPAKXEPbd-JLCA@mail.gmail.com pg_upgrade and statistics]<br />
}}<br />
<br />
{{TodoItem<br />
|Find cleaner way to start/stop dedicated servers for upgrades<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00275.php<br />
}}<br />
<br />
{{TodoItem<br />
|Desired changes that would prevent upgrades with pg_upgrade<br />
* 32-bit page checksums<br />
* Add metapage to GiST indexes<br />
* Clean up hstore's internal representation<br />
* Remove tuple infomask bit HEAP_MOVED_OFF and HEAP_MOVED_IN<br />
* [http://www.postgresql.org/message-id/CAK+WP1xdmyswEehMuetNztM4H199Z1w9KWRHVMKzyyFM+hV%3DzA@mail.gmail.com fix char() index trailing space handling]<br />
* [http://www.postgresql.org/message-id/CAPpHfdtxXMjyZxwND09ZLBBACVbWb5J9bLUf67CndR4VKFDgwg@mail.gmail.com Use non-collation-aware comparisons for GIN opclasses]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ecpg ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Docs<br />
|Document differences between ecpg and the SQL standard and information about the Informix-compatibility module.}}<br />
<br />
{{TodoItem<br />
|Solve cardinality &gt; 1 for input descriptors / variables?}}<br />
<br />
{{TodoItem<br />
|Add a semantic check level, e.g. check if a table exists}}<br />
<br />
{{TodoItem<br />
|fix handling of DB attributes that are arrays}}<br />
<br />
{{TodoItem<br />
|Fix nested C comments}}<br />
<br />
{{TodoItemEasy<br />
|sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified}}<br />
<br />
{{TodoItem<br />
|Make SET CONNECTION thread-aware, non-standard?}}<br />
<br />
{{TodoItem<br />
|Allow multidimensional arrays}}<br />
<br />
{{TodoItem<br />
|Implement COPY FROM STDIN}} <br />
<br />
{{TodoItem<br />
|Provide a way to specify size of a bytea parameter<br />
* [http://archives.postgresql.org/message-id/200906192131.n5JLVoMo044178@wwwmaster.postgresql.org <nowiki>BUG #4866: ECPG and BYTEA</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Fix small memory leaks in ecpg<br />
|Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated}} <br />
<br />
{{TodoItem<br />
|Allow reuse of cursor name variables<br />
* [http://archives.postgresql.org/message-id/20100329113435.GA3430@feivel.credativ.lan <nowiki>Problems with variable cursorname in ecpg</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== libpq ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent PQfnumber() from lowercasing unquoted column names<br />
|PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it}}<br />
<br />
{{TodoItem<br />
|Consider disallowing multiple queries in PQexec() as an additional barrier to SQL injection attacks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00184.php <nowiki>Re: InitPostgres and flatfiles question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add PQexecf() that allows complex parameter substitution<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01803.php <nowiki>Last minute mini-proposal (I know, know) for PQexecf()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add SQLSTATE and severity to errors generated within libpq itself<br />
* [http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php <nowiki>v8.1: Error severity on libpq PGconn*</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01425.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for interface/ipaddress binding to libpq<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01811.php <nowiki>SR/libpq - outbound interface/ipaddress binding</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|When receiving a FATAL error remember it, so that it doesn't profess ingnorance about why the session was closed<br />
* [http://www.postgresql.org/message-id/CA+TgmoZ4P1cQetjOxQoHiG072UcE7dpE7dTBV8hMOidhwhof+g@mail.gmail.com<nowiki>Idle In Transaction Session Timeout, revived</nowiki>]<br />
}}<br />
<br />
{{TodoItemDone<br />
|Allow libpq to handle fail over internally by trying multiple hosts<br />
* [http://www.postgresql.org/message-id/20160121124909.7fa66dab@fafnir.local.vm Implement failover on libpq connect level]<br />
}}<br />
<br />
{{TodoItem<br />
|Pipelining support for libpq async API and an array-valued PQexecPrepared that uses it<br />
* [http://www.postgresql.org/message-id/CAMsr+YHE8Rt800yWcHEL8SrgruK0ng_nBmtKV6YMZ2BAzRBZzw@mail.gmail.com Foreign table batched inserts]<br />
}}<br />
{{TodoEndSubsection}}<br />
<br />
== Triggers ==<br />
<br />
{{TodoItem<br />
|Improve storage of deferred trigger queue<br />
|Right now all deferred trigger information is stored in backend memory. This could exhaust memory for very large trigger queues. This item involves dumping large queues into files, or doing some kind of join to process all the triggers, some bulk operation, or a bitmap. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php <nowiki>Re: BUG #4204: COPY to table with FK has memory leak</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-10/msg00464.php <nowiki>Scaling up deferred unique checks and the after trigger queue</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00023.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow triggers to be disabled in only the current session.<br />
|This is currently possible by starting a multi-statement transaction, modifying the system tables, performing the desired SQL, restoring the system tables, and committing the transaction. ALTER TABLE ... TRIGGER requires a table lock so it is not ideal for this usage.}}<br />
<br />
{{TodoItem<br />
|With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY<br />
|If the dump is known to be valid, allow foreign keys to be added without revalidating the data.}}<br />
<br />
{{TodoItem<br />
|Allow statement-level triggers to access modified rows}}<br />
<br />
{{TodoItem<br />
|When statement-level triggers are defined on a parent table, have them fire only on the parent table, and fire child table triggers only where appropriate<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01883.php <nowiki>Statement-level triggers and inheritance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Tighten trigger permission checks<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00564.php <nowiki>Security leak with trigger functions?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow BEFORE INSERT triggers on views<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php <nowiki>Re: Why can't I put a BEFORE EACH ROW trigger on a view?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add database and transaction-level triggers<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php <nowiki>Proposal for db level triggers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00620.php <nowiki>triggers on prepare, commit, rollback... ?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce locking requirements for creating a trigger<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00635.php <nowiki>Re: Change lock requirements for adding a trigger</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid requirement for AFTER trigger functions to return a value<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02384.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of inline triggers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00708.php<br />
}}<br />
<br />
== Inheritance ==<br />
<br />
{{TodoItem<br />
|Allow inherited tables to inherit indexes, UNIQUE constraints, and primary/foreign keys<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-05/msg00285.php <nowiki>Partitioning/inherited tables vs FKs</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00039.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00305.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow unique indexes across inherited tables (requires multi-table indexes)}}<br />
<br />
{{TodoItem<br />
|Research whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY)}}<br />
<br />
{{TodoItem<br />
|ALTER TABLE variants sometimes support recursion and sometimes not, but this is poorly/not documented, and the ONLY marker would then be silently ignored. Clarify the documentation, and reject ONLY if it is not supported.}}<br />
<br />
== Indexes ==<br />
<br />
{{TodoItem<br />
|Prevent index uniqueness checks when UPDATE does not modify the column<br />
|Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE.<br />
However, HOT already short-circuits this in common cases, so more work might not be helpful.<br />
* http://www.postgresql.org/message-id/CA+TgmoZOyaTanfEvNUdiHBCuu9Zh0JVP1e_UTVbx6Rvj9vFC9Q@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics<br />
* [http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php <nowiki>Re: Simple join optimized badly?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php <nowiki>Stats for multi-column indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00741.php <nowiki>Cross-column statistics revisited</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg01431.php <nowiki>Multi-Dimensional Histograms</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00913.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02179.php <br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00459.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02054.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01731.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00894.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00679.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having a larger statistics target for indexed columns and expression indexes. <br />
}}<br />
<br />
{{TodoItem<br />
|Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY<br />
|This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. CREATE INDEX CONCURRENTLY does not have this complication. This would allow index compaction without downtime. <br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php <nowiki>Re: When/if to Reindex</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00911.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg00128.php<br />
* [http://www.postgresql.org/message-id/CAB7nPqTys6JUQDxUczbJb0BNW0kPrW8WdZuk11KaxQq6o98PJg@mail.gmail.com Support for REINDEX CONCURRENTLY]<br />
* [https://wiki.postgresql.org/wiki/Reindex_concurrently Wiki page listing current situation on the matter]<br />
* [http://www.postgresql.org/message-id/CAB7nPqSTFkuc7dZxCDX4HOTU63YXHRroNv2aoUzyD-Zz_8Z_Zg@mail.gmail.com REINDEX CONCURRENTLY 2.0]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multiple indexes to be created concurrently, ideally via a single heap scan<br />
|pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this.<br />
Cluster could definitely benefit from this.<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00093.php<br />
* http://www.postgresql.org/message-id/CADVWZZJ5AS%3DXVrDwfTQqQP_V1+_fTYcZhq%3Dd5CbCXoALCjObbg@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting entries before inserting into btree index<br />
* [http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php <nowiki>Re: ATTN: Clodaldo was Performance problem. Could it be related to 8.3-beta4?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using "effective_io_concurrency" for index scans<br />
|Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans.<br />
* [http://www.postgresql.org/message-id/CAGTBQpZzf70n0PYJ%3DVQLd+jb3wJGo%3D2TXmY+SkJD6G_vjC5QNg@mail.gmail.com Prefetch index pages for B-Tree index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow GIN indexes to be used for exclusion constraints<br />
* http://archives.postgresql.org/pgsql-hackers/2012-05/msg00669.php<br />
}}<br />
<br />
{{TodoItem<br />
| Allow "loose" or "skip" scans on btree indexes in which the first column has low cardinality<br />
* http://archives.postgresql.org/pgsql-performance/2012-08/msg00159.php<br />
}}<br />
<br />
{{TodoItem<br />
| Make the planner's "special index operator" mechanism extensible<br />
* http://www.postgresql.org/message-id/27270.1364700924@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
| Allow index-only COUNT(*) for indexes which don't support index-only scans<br />
}}<br />
<br />
{{TodoItem<br />
|Improve GIN performance<br />
* [http://www.postgresql.org/message-id/52F373CC.4050800@vmware.com Small GIN optimizations (after 9.4)]<br />
}}<br />
<br />
{{TodoItem<br />
| Teach GIN cost estimation about "fast scans"<br />
* http://www.postgresql.org/message-id/53208B4D.5000806@vmware.com<br />
}}<br />
<br />
{{TodoItem<br />
| Allow unlogged indexes<br />
* http://www.postgresql.org/message-id/11561.1414793261@sss.pgh.pa.us<br />
}}<br />
<br />
=== GIST ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add more GIST index support for geometric data types}}<br />
<br />
{{TodoItem<br />
|Allow GIST indexes to create more complex index types, like digital trees (see Aoki)}}<br />
<br />
{{TodoItem<br />
|Fix performance issues in contrib/seg and contrib/cube GiST support<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904161633160.4053@aragorn.flymine.org GiST index performance]<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904221704470.22330@aragorn.flymine.org draft patch]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-05/msg00069.php <nowiki>Re: GiST index performance</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-06/msg00068.php <nowiki>GiST index performance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/message-id/4DC8D284-05CF-4E3D-9670-AC9A32C37A36@justatheory.com GiST index support for arrays]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Hash ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add UNIQUE capability to hash indexes}}<br />
<br />
{{TodoItem<br />
|Add hash WAL logging for crash recovery<br />
* http://archives.postgresql.org/pgsql-performance/2011-09/msg00196.php<br />
* [http://www.postgresql.org/message-id/CA+TgmoZyMoJSrFxHXQ06G8jhjXQcsKvDiHB_8z_7nc7hj7iHYQ@mail.gmail.com Save Hash Indexes]<br />
* [http://www.postgresql.org/message-id/CAM3SWZRBpAz%3DbZYCxvQDSGKR5OA5yEhGVOCit7AyStUtq2cBDA@mail.gmail.com GSoC on WAL-logging hash indexes]<br />
* http://www.postgresql.org/message-id/20160204221809.GA242547@alvherre.pgsql<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multi-column hash indexes}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Sorting ==<br />
<br />
{{TodoItem<br />
|Consider whether duplicate keys should be sorted by block/offset<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00558.php <nowiki>Remove hacks for old bad qsort() implementations?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider being smarter about memory and external files used during sorts<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php <nowiki>Sorting Improvements for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider detoasting keys before sorting}}<br />
<br />
{{TodoItem<br />
|Allow sorts of skinny tuples to use even more available memory.<br />
|Now that it is not limited by MaxAllocSize, don't limit by INT_MAX either.<br />
* [http://www.postgresql.org/message-id/CA+U5nMKkRMin1pV8VMpS6_n7hcOWSG0kZS3oFL9JOa8DV6vJyQ@mail.gmail.com Re: MemoryContextAllocHuge(): selectively bypassing MaxAllocSize]<br />
}}<br />
<br />
== Cache Usage ==<br />
<br />
{{TodoItem<br />
|Consider automatic caching of statements at various levels:<br />
* Parsed query tree<br />
* Query execute plan<br />
* Query results <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php <nowiki>Cached Query Plans (was: global prepared statements)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing higher priority queries to have referenced shared buffer pages stay in memory longer<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php <nowiki>Re: How to keep a table in memory?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix memory leak caused by negative catcache entries<br />
* [http://www.postgresql.org/message-id/51C0A1FF.2050404@vmware.com <nowiki>Re: Memory leak in PL/pgSQL function which CREATE/SELECT/DROP a temporary table</nowiki>]<br />
}}<br />
<br />
== Vacuum ==<br />
<br />
{{TodoItem<br />
|Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php <nowiki>Dead Space Map</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00011.php <nowiki>Re: Automatic free space map filling</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow concurrent inserts to use recently created pages rather than creating new ones<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg00853.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having single-page pruning update the visibility map<br />
* <nowiki>https://commitfest.postgresql.org/action/patch_view?id=75</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02344.php <nowiki>Re: visibility maps and heap_prune</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow VACUUM FULL and CLUSTER to update the visibility map<br />
* [http://www.postgresql.org/message-id/20130112191404.255800@gmx.com index-only scans : abnormal heap fetches after VACUUM FULL]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve tracking of total relation tuple counts now that vacuum doesn't always scan the whole heap<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00531.php Partial vacuum versus pg_class.reltuples]<br />
}}<br />
<br />
{{TodoItem<br />
|Bias FSM towards returning free space near the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01124.php <nowiki>FSM search modes</nowiki>]<br />
* [http://www.postgresql.org/message-id/20150424190403.GP4369@alvh.no-ip.org Re: Feedback on getting rid of VACUUM FULL]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a more compact data representation for dead tuple locations within VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00143.php <nowiki>Re: Have vacuum emit a warning when it runs out of maintenance_work_mem</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more information in order to improve user-side estimates of dead space bloat in relations<br />
* [http://archives.postgresql.org/pgsql-general/2009-05/msg01039.php <nowiki>Re: Bloated Table</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce the number of table scans performed by vacuum<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01119.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00624.php<br />
}}<br />
<br />
{{TodoItem<br />
|Vacuum Gin indexes in physically order rather than logical order<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg00443.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid creation of the free space map for small tables<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg01751.php<br />
}}<br />
<br />
=== Auto-vacuum ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Issue log message to suggest VACUUM FULL if a table is nearly empty?<br />
*[http://www.postgresql.org/message-id/F40B0968DB0A904DA78A924E633BE78645FAAF@SYDEXCHTMP2.au.fjanz.com discussion]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent long-lived temporary tables from causing frozen-xid advancement starvation<br />
|The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can. <br />
* [http://archives.postgresql.org/pgsql-general/2007-06/msg01645.php <nowiki>Re: AutoVacuum Behaviour Question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent autovacuum from running if an old transaction is still running from the last vacuum<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php <nowiki>Re: Autovacuum and OldestXmin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have autoanalyze of parent tables occur when child tables are modified<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00137.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00356.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve autovacuum tuning<br />
* http://www.postgresql.org/message-id/5078AD6B.8060802@agliodbs.com<br />
* http://www.postgresql.org/message-id/20130124215715.GE4528@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoItem<br />
|Improve setting of visibility map bits for read-only and insert-only workloads<br />
* http://www.postgresql.org/message-id/20130906001437.GA29264@momjian.us<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Locking ==<br />
<br />
{{TodoItem<br />
|Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg01011.php <nowiki>FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00001.php <nowiki>Re: FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00435.php <nowiki>Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00773.php <nowiki>Re: savepoints and upgrading locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php <nowiki>BUG #3883: Autovacuum deadlock with truncate?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php <nowiki>Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Detect deadlocks involving LockBufferForCleanup()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow finer control over who is cancelled in a deadlock<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01727.php<br />
}}<br />
<br />
== Startup Time Improvements ==<br />
<br />
{{TodoItem<br />
|Allow backends to change their database without restart<br />
|This allows for faster server startup.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00843.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00336.php<br />
}}<br />
<br />
== Write-Ahead Log ==<br />
<br />
{{TodoItem<br />
|Eliminate need to write full pages to WAL before page modification<br />
|Currently, to protect against partial disk page writes, we write full page images to WAL before they are modified so we can correct any partial page writes during recovery. These pages can also be eliminated from point-in-time archive files. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php <nowiki>Re: Index Scans become Seq Scans after VACUUM ANALYSE</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01191.php<br />
* [http://archives.postgresql.org/message-id/20120105061916.GB21048@fetter.org WIP double writes]<br />
* [http://archives.postgresql.org/message-id/4EFC449F02000025000441CD@gw.wicourts.gov double writes]<br />
* [http://archives.postgresql.org/message-id/20120110214344.GB21106@fetter.org Double-write with Fast Checksums]<br />
* [http://archives.postgresql.org/message-id/1962493974.656458.1327703514780.JavaMail.root@zimbra-prod-mbox-4.vmware.com double writes using "double-write buffer" approach]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01463.php<br />
}}<br />
<br />
{{TodoItem<br />
|When full page writes are off, write CRC to WAL and check file system blocks on recovery<br />
|If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC.}}<br />
<br />
{{TodoItem<br />
|Write full pages during file system write and not when the page is modified in the buffer cache<br />
|This allows most full page writes to happen in the background writer. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL.<br />
* [http://archives.postgresql.org/message-id/CAGvK12UST-tPhyLrSLuSpwFxZbAO79yYrhV2xaLmS2MkUxNUVQ@mail.gmail.com Page Checksums + Double Writes]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow WAL information to recover corrupted pg_controldata<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php <nowiki>Re: [HACKERS] pg_resetxlog -r flag</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Speed WAL recovery by allowing more than one page to be prefetched<br />
|This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. <br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php <nowiki>Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php <nowiki>Re: [GENERAL] Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php <nowiki>Read-ahead and parallelism in redo recovery</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve WAL concurrency by increasing lock granularity<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php <nowiki>Reworking WAL locking</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have resource managers report the duration of their status changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php <nowiki>Recovery of Multi-stage WAL actions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Close deleted WAL files held open in *nix by long-lived read-only backends<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01754.php <nowiki>Deleted WAL files held open by backends in Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00060.php <nowiki>Re: Deleted WAL files held open by backends in Linux</nowiki>]<br />
}}<br />
<br />
== Optimizer / Executor ==<br />
<br />
{{TodoItem<br />
|Improve selectivity functions for geometric operators}}<br />
<br />
{{TodoItem<br />
|Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold<br />
* [http://archives.postgresql.org/message-id/4136ffa0905210551u22eeb31bn5655dbe7c9a3aed5@mail.gmail.com from_collapse_limit vs. geqo_threshold]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to display optimizer analysis using OPTIMIZER_DEBUG<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00597.php<br />
}}<br />
<br />
{{TodoItem<br />
|Log statements where the optimizer row estimates were dramatically different from the number of rows actually found?}}<br />
<br />
{{TodoItem<br />
|Consider compressed annealing to search for query plans<br />
|This might replace GEQO.<br />
* http://archives.postgresql.org/message-id/15658.1241278636%40sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Improve use of expression indexes for ORDER BY <br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01553.php <nowiki>Resjunk sort columns, Heikki's index-only quals patch, and bug #5000</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Modify the planner to better estimate caching effects<br />
* http://archives.postgresql.org/pgsql-performance/2010-11/msg00117.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow shared buffer cache contents to affect index cost computations<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg01140.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the CTE (Common Table Expression) optimization fence to be optionally disabled<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00700.php<br />
* http://archives.postgresql.org/pgsql-performance/2012-11/msg00161.php<br />
}}<br />
<br />
=== Hashing ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Consider using a hash for joining to a large IN (VALUES ...) list<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00450.php <nowiki>Planning large IN lists</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single batch hash joins to preserve outer pathkeys<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg00806.php Re: Potential Join Performance Issue]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Use "lazy" hash tables to look up only the tuples that are actually requested<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid building the same hash table more than once during the same query<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid hashing for distinct and then re-hashing for hash join<br />
* [http://archives.postgresql.org/message-id/4136ffa0902191346g62081081v8607f0b92c206f0a@mail.gmail.com Re: Fixing Grittner's planner issues]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Background Writer ==<br />
<br />
{{TodoItem<br />
|Consider having the background writer update the transaction status hint bits before writing out the page<br />
|Implementing this requires the background writer to have access to system catalogs and the transaction status log.<br />
* [http://www.postgresql.org/message-id/CAMkU%3D1zf1Yo0dYJzJ-pk9o4mwLuMD4Uzw6Jck7u1nC_Xb2gYWA@mail.gmail.com Re: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider adding buffers the background writer finds reusable to the free list <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
* [http://www.postgresql.org/message-id/CAOeZVic4HikhmzVD%3DZP4JY9g8PgpyiQQOXOELWP%3DkR+%3DH1Frgg@mail.gmail.com Page replacement algorithm in buffer cache]<br />
* [http://www.postgresql.org/message-id/002f01ce50a8$e057c7a0$a10756e0$@kapila@huawei.com Move unused buffers to freelist]<br />
}}<br />
<br />
{{TodoItem<br />
|Automatically tune bgwriter_delay based on activity rather then using a fixed interval<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider whether increasing BM_MAX_USAGE_COUNT improves performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg01007.php <nowiki>Bgwriter LRU cleaning: we've been going at this all wrong</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency<br />
* [http://archives.postgresql.org/pgsql-patches/2007-06/msg00340.php <nowiki>Re: Load Distributed Checkpoints, final patch</nowiki>]<br />
}}<br />
<br />
== Concurrent Use of Resources ==<br />
<br />
{{TodoItem<br />
|Do async I/O for faster random read-ahead of data<br />
|Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php <nowiki>Asynchronous I/O Support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php <nowiki>Re: random_page_costs - are defaults of 4.0 realistic for SCSI RAID 1</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00027.php <nowiki>There's random access and then there's random access</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php <nowiki>Bitmap index scan preread using posix_fadvise (Was: There's random access and then there's random access)</nowiki>]<br />
The above patch is already applied as of 8.4, but it still remains to figure out how to handle plain indexscans effectively.<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-01/msg00806.php Problems with the patch submitted for posix_fadvise in index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|SMP scalability improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php <nowiki>Straightforward changes for increased SMP scalability</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
== TOAST ==<br />
<br />
{{TodoItem<br />
|Allow user configuration of TOAST thresholds<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00213.php <nowiki>Re: Proposed adjustments in MaxTupleSize and toastthresholds</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php <nowiki>pg_lzcompress strategy parameters</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce unnecessary cases of deTOASTing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php <nowiki>Re: [PATCHES] Eliminate more detoast copies for packed varlenas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce costs of repeat de-TOASTing of values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01096.php <nowiki>WIP patch: reducing overhead for repeat de-TOASTing</nowiki>]<br />
}}<br />
<br />
== Monitoring ==<br />
<br />
{{TodoItem<br />
|Have pg_stat_activity display query strings in the correct client encoding<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00131.php <nowiki>pg_stats queries versus per-database encodings</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Add entry creation timestamp column to pg_stat_replication<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00694.php<br />
}}<br />
<br />
{{TodoItem<br />
| Allow reporting of stalls due to wal_buffer wrap-around<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00826.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
{{TodoItem<br />
| Improve handling of pg_stat_statements handling of bind "IN" variables<br />
* [http://www.postgresql.org/message-id/CAM3SWZSpdPB3uErnXWMt3q74y0r+84ZsOt2U3HKKes_V7O+0Qg@mail.gmail.com Revisiting pg_stat_statements and IN()]<br />
}}<br />
<br />
== Miscellaneous Performance ==<br />
<br />
{{TodoItem<br />
|Use mmap() rather than shared memory for shared buffers?<br />
|This would remove the requirement for SYSV SHM but would introduce portability issues. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. We could also consider mmap() for writing WAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00750.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00756.php<br />
* http://www.postgresql.org/message-id/20140115114909.GI4963@suse.de<br />
}}<br />
<br />
{{TodoItem<br />
|Rather than consider mmap()-ing in 8k pages, consider mmap()'ing entire files into a backend?<br />
|Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Another problem is that there is no way to _prevent_ I/O to disk from the dirty shared buffers so changes could hit disk before WAL is written.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01239.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration of backend priorities via the operating system<br />
|Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem.<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php <nowiki>Priorities for users or queries?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call<br />
* [http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php <nowiki>pgsql: Avoid incrementing the CommandCounter when</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation<br />
* [http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php <nowiki>Re: TB-sized databases</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider not storing a NULL bitmap on disk if all the NULLs are trailing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php <nowiki>Proposal for Null Bitmap Optimization(for Trailing NULLs)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php <nowiki>Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Sort large UPDATE/DELETEs so it is done in heap order<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php <nowiki>Possible future performance improvement: sort updates/deletes by ctid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add auto-tuning of work_mem<br />
* [http://www.postgresql.org/message-id/20131009143046.GT22450@momjian.us Auto-tuning work_mem and maintenance_work_mem]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the I/O caused by updating tuple hint bits<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00847.php <nowiki>Hint Bits and Write I/O</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00199.php <nowiki>Re: [HACKERS] Hint Bits and Write I/O</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00695.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00792.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg01063.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01408.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01453.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid reading in b-tree pages when replaying vacuum records in hot standby mode<br />
* [http://archives.postgresql.org/message-id/1272571938.4161.14739.camel@ebony <nowiki>Hot Standby tuning for btree_xlog_vacuum()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure truncation logic to be more resistant to failure<br />
|This also involves not writing dirty buffers for a truncated or dropped relation<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01032.php<br />
}}<br />
<br />
{{TodoItem<br />
|Enhance foreign data wrappers, parallelism, partitioning, and perhaps add a global snapshot/transaction manager to allow creation of a proof-of-concept built-in sharding solution<br />
|Ideally these enhancements and new facilities will be available to external sharding solutions as well.<br />
* [https://wiki.postgresql.org/wiki/PG-EU_2015_Cluster_Summit 2015 Vienna Cluster Summit]<br />
}}<br />
<br />
== Miscellaneous Other ==<br />
<br />
{{TodoItem<br />
|Deal with encoding issues for filenames in the server filesystem<br />
* {{MessageLink|20090413184335.39BE.52131E4D@oss.ntt.co.jp|a proposed patch here}}<br />
* {{MessageLink|8484.1244655656@sss.pgh.pa.us|some issues about it here}}<br />
* {{MessageLink|20100107103740.97A5.52131E4D@oss.ntt.co.jp|Windows-specific patch here}}<br />
}}<br />
<br />
{{TodoItem<br />
|Deal with encoding issues in the output of localeconv()<br />
* [http://archives.postgresql.org/message-id/40c6d9160904210658y590377cfw6dbbecb53d2b8be0@mail.gmail.com bug report]<br />
* [http://archives.postgresql.org/message-id/49EF8DA0.90008@tpf.co.jp draft patch]<br />
* [http://archives.postgresql.org/message-id/21710.1243620986@sss.pgh.pa.us review of patch]<br />
}}<br />
<br />
{{TodoItem<br />
|Have GB18030 handle more than 2-byte Unicode code points<br />
* [http://www.postgresql.org/message-id/20150309205145.4031.32069@wrigleys.postgresql.org GB18030 encoding doesn't support Unicode characters over 0xFFFF]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports<br />
* [http://archives.postgresql.org/message-id/dcc563d10810211907n3c59a920ia9eb7cd2a6d5ea58@mail.gmail.com <nowiki>How to get schema name which violates fk constraint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg00846.php <nowiki>patch - Report the schema along table name in a referential failure error message</nowiki>]<br />
* {{MessageLink|3191.1263306359@sss.pgh.pa.us|Re: NOT NULL violation and error-message}}<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg00213.php <nowiki>the case for machine-readable error fields</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Use sa_mask to close race conditions between signal handlers<br />
* http://www.postgresql.org/message-id/20130911013107.GA225735@tornado.leadboat.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow pg_export_snapshot() to run on hot standby servers<br />
|This will allow parallel pg_dump on such servers.<br />
* [http://www.postgresql.org/message-id/CA+U5nML2VMJ3R2YBAZ+CsAsTWF3LuYSo16Wu9+yXFrfy4%3Df2fA@mail.gmail.com pg_export_snapshot on standby side]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a way to enumerate and unregister background workers<br />
|Right now the only way to unregister bgworkers is from within the worker with <tt>proc_exit(0)</tt> or registering with <tt>BGW_NEVER_RESTART</tt><br />
* https://www.postgresql.org/message-id/CAMsr%2BYG-fD%2BmP-BNZDheVYucC7%3DoUn8ByTQSFz7RKkVX2MRS2Q%40mail.gmail.com<br />
}}<br />
<br />
== Source Code ==<br />
<br />
{{TodoItem<br />
|Allow cross-compiling by generating the zic database on the target system}}<br />
<br />
{{TodoItem<br />
|Improve NLS maintenance of libpgport messages linked onto applications}}<br />
<br />
{{TodoItem<br />
|Use UTF8 encoding for NLS messages so all server encodings can read them properly}}<br />
<br />
{{TodoItem<br />
|Allow creation of universal binaries for Darwin<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00884.php <nowiki>Getting to universal binaries for Darwin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider GnuTLS if OpenSSL license becomes a problem<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00892.php<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php <nowiki>[PATCH] Add support for GnuTLS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php <nowiki>TODO: GNU TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider making NAMEDATALEN more configurable}}<br />
<br />
{{TodoItem<br />
|Research use of signals and sleep wake ups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00003.php <nowiki>Restartable signals 'n all that</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow C++ code to more easily access backend code<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00302.php <nowiki>Mostly Harmless: Welcoming our C++ friends</nowiki>]<br />
* [https://www.postgresql.org/message-id/flat/CABgyVxDBd3EvRdo-Rd6eo8QPEqV8%3DShaU2SJfo16wfE0R-hXTA%40mail.gmail.com C++ port of Postgres]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider simplifying how memory context resets handle child contexts<br />
* [http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php <nowiki>Re: Memory leak in nodeAgg</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve detection of shared memory segments being used by others by checking the SysV shared memory field 'nattch'<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php <nowiki>postgresql in FreeBSD jails: proposal</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php <nowiki>Re: postgresql in FreeBSD jails: proposal</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the non-threaded Avahi service discovery protocol<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php <nowiki>Re: Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php <nowiki>Re: [HACKERS] Avahi support for Postgresql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce data row alignment requirements on some 64-bit systems<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00369.php <nowiki>[WIP] Reduce alignment requirements on 64-bit systems.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure TOAST internal storage format for greater flexibility<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00049.php <nowiki>Re: PG_PAGE_LAYOUT_VERSION 5 - time for change</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Research different memory allocation methods for lists<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01467.php <br />
}}<br />
<br />
{{TodoItem<br />
| Consider removing the attribute options cache<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00039.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure /contrib section<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00705.php<br />
}}<br />
<br />
=== Windows ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Remove configure.in check for link failure when the cause is found}}<br />
<br />
{{TodoItem<br />
|Allow psql to use readline once non-US code pages work with backslashes}}<br />
<br />
{{TodoItem<br />
|Improve signal handling<br />
* [http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php <nowiki>Simplify Win32 Signaling code</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support PGXS when using MSVC}}<br />
<br />
{{TodoItem<br />
|Fix MSVC NLS support, like for to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php <nowiki>NLS on MSVC strikes back!</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php <nowiki>Fix for 8.3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back!)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix global namespace issues when using multiple terminal server sessions<br />
* [http://archives.postgresql.org/message-id/48F3BFCC.8030107@dunslane.net problems with Windows global namespace]}}<br />
<br />
{{TodoItem<br />
|Change from the current autoconf/gmake build system to cmake<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01869.php <nowiki>About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve consistency of path separator usage<br />
* http://archives.postgresql.org/message-id/49C0BDC5.4010002@hagander.net<br />
}}<br />
<br />
{{TodoItem<br />
|Fix cross-compiling on Windows<br />
* http://archives.postgresql.org/pgsql-bugs/2010-10/msg00110.php<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce file statistics overhead on directory reads<br />
* http://www.postgresql.org/message-id/1338325561.82125.YahooMailNeo@web39304.mail.mud.yahoo.com<br />
}}<br />
<br />
{{TodoItem<br />
|Fix hang with long file paths<br />
* [http://www.postgresql.org/message-id/CAA4eK1JxaBofxpcgLqCx9EB%3Dm3PaXr9iFU9%3DV3ddDswsPZooxw@mail.gmail.com Long paths for tablespace leads to uninterruptible hang in Windows]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Wire Protocol Changes / v4 protocol ===<br />
{{TodoSubsection}}<br />
<br />
<br />
{{TodoItem<br />
|Allow dynamic character set handling}}<br />
<br />
{{TodoItem<br />
|Ensure the client can determine the encoding of messages sent early in the handshake<br />
* http://www.postgresql.org/message-id/541A5659.5050006@2ndquadrant.com}}<br />
<br />
{{TodoItem<br />
|Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server<br />
* http://www.postgresql.org/message-id/16160.1360540050@sss.pgh.pa.us}}<br />
* http://www.postgresql.org/message-id/20131220030725.GA1411150@tornado.leadboat.com}}<br />
<br />
{{TodoItem<br />
|Send numeric version to clients in fixed header<br />
* [https://commitfest.postgresql.org/10/752/ <nowiki>patch to send server_version_num in v3 protocol as GUC_REPORT</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add decoded type length/precision (i.e. typmod information)}}<br />
<br />
{{TodoItem<br />
|Mark result columns as known-not-null when possible<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-11/msg01029.php <nowiki>Adding nullable indicator to Describe</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Use compression<br />
|Specify and implement wire protocol compression. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. Note that [https://www.ietf.org/mail-archive/web/tls/current/msg11619.html compression is being removed from TLS 1.3] so we really need to do it ourselves.<br />
* http://archives.postgresql.org/pgsql-hackers/2012-06/msg00793.php<br />
}}<br />
<br />
{{TodoItem<br />
|Update clients to use data types, typmod, schema.table.column names of result sets using new statement protocol}}<br />
<br />
{{TodoItem<br />
|Set protocol for wire format negotiation<br />
* [http://archives.postgresql.org/message-id/CACMqXCKkGrGXxQhjHCKCe0B8hn6sTt-1sdgHZOSGQMxrusOsQA@mail.gmail.com GUC_REPORT for protocol tunables]<br />
}}<br />
<br />
{{TodoItem<br />
|Make sure upgrading to a 4.1 protocol version will actually work smoothly<br />
* [http://archives.postgresql.org/message-id/28307.1318255008@sss.pgh.pa.us Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multi-state authentication (e.g. try client peer, fall back to md5)<br />
* http://www.postgresql.org/message-id/51A44185.5060306@2ndquadrant.com<br />
* http://www.postgresql.org/message-id/55192AFE.6080106@iki.fi<br />
* http://www.postgresql.org/message-id/54DB1D4E.8090700@vmware.com<br />
* https://commitfest.postgresql.org/6/320/<br />
}}<br />
<br />
{{TodoItem<br />
|Allow re-authentication<br />
|Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake.<br />
}}<br />
<br />
{{TodoItem<br />
|Identify the affected object in CommandComplete message?<br />
* http://www.postgresql.org/message-id/CAAfz9KNGVoyM+z_2tnPKTDXG_RdR9a33Y5s+zQ9LdwTTsqqZng@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow negotiation of encryption, <tt>STARTTLS</tt> style, rather than forcing client to decide on SSL or !SSL before connecting<br />
* http://www.postgresql.org/message-id/5406EAD3.7070002@2ndquadrant.com}}<br />
<br />
{{TodoItem<br />
|Permit lazy fetches of large values, at least out-of-line TOASTED values<br />
* http://www.postgresql.org/message-id/53FF0EF8.100@2ndquadrant.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add session-level whitelisting of types for binary-mode transfer<br />
* http://www.postgresql.org/message-id/30470.1412055068@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Send client the xid when it is allocated<br />
|Lets the client later ask the server "did this commit or not?" after interterminate result due to crash or connection loss<br />
}}<br />
<br />
{{TodoItem<br />
|Report xlog position in commit message<br />
|Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet<br />
* http://www.postgresql.org/message-id/53E2D346.9030806@2ndquadrant.com<br />
}}<br />
<br />
{{TodoItem<br />
|Changes to make cancellations more reliable and more secure<br />
* http://www.postgresql.org/message-id/CADT4RqAUd7wYYsM9D7GHJnZj3J79D4W%3Dved2kqM5mVt5cuGHgg@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Clarify semantics of statement_timeout in extended query protocol<br />
|Batched and pipelined queries have unexpected behaviour with statement_timeout. Client needs to be able to specify statement boundary with protocol message.<br />
* https://www.postgresql.org/message-id/20160528.220442.1489791680347556026.t-ishii@sraoss.co.jp<br />
}}<br />
<br />
{{TodoItem<br />
|Create a more efficient way to handle out-of-line parameters<br />
* [https://www.postgresql.org/message-id/12500.1470002232%40sss.pgh.pa.us Re: Slowness of extended protocol]<br />
}}<br />
<br />
{{TodoItem<br />
|Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message)<br />
* https://www.postgresql.org/message-id/CADT4RqDdo9EcFbxwB_YO2H3BVZ0t-1qqZ%3D%2B%2BdVMnYaN6BpyUGQ%40mail.gmail.com<br />
* https://www.postgresql.org/message-id/CAMsr%2BYEgnJ8ZAWPLx5%3DBCbYYq9SNTdwbwvUcb7V-vYm5d5uhbQ%40mail.gmail.com<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Documentation ==<br />
<br />
{{TodoItemEasy <br />
| Add contrib functions to the index<br />
* Add the functions and GUCs in the contrib modules to [http://www.postgresql.org/docs/current/static/sql-createindex.html the documentation index]: [http://archives.postgresql.org/message-id/50A2E173.6030404@2ndQuadrant.com per list discussion]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a manpage for postgresql.conf<br />
* {{messageLink|20080819194311.GH4428@alvh.no-ip.org|A smaller default postgresql.conf}}<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Change the manpage-generating toolchain to use the new XML-based docbook2x tools<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing documentation format from SGML to XML<br />
* [http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php <nowiki>Re: Authoring Tools WAS: Switching to XML</nowiki>]<br />
* http://archives.postgresql.org/pgsql-docs/2011-04/msg00020.php<br />
* http://wiki.postgresql.org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML<br />
}}<br />
<br />
{{TodoItem<br />
|Document support for N<nowiki>' '</nowiki> national character string literals, if it matches the SQL standard<br />
* http://archives.postgresql.org/message-id/1275895438.1849.1.camel@fsopti579.F-Secure.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add diagrams to the documentation<br />
* http://archives.postgresql.org/pgsql-docs/2010-07/msg00001.php<br />
}}<br />
<br />
== Exotic Features ==<br />
<br />
{{TodoItem<br />
|Add pre-parsing phase that converts non-ISO syntax to supported syntax<br />
|This could allow SQL written for other databases to run without modification.}}<br />
<br />
{{TodoItem<br />
|Allow plug-in modules to emulate features from other databases}}<br />
<br />
{{TodoItem<br />
|Add features of Oracle-style packages<br />
|A package would be a schema with session-local variables, public/private functions, and initialization functions. It is also possible to implement these capabilities in any schema and not use a separate &quot;packages&quot; syntax at all.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php <nowiki>proposal for PL packages for 8.3.</nowiki>]<br />
* [http://www.postgresql.org/message-id/CAFj8pRD4OAXp2zp7dBRg5eo6X3rtT5MHTMVRN1e1kdK8xE6E4g@mail.gmail.com proposal: schema PL session variables]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing control of upper/lower case folding of unquoted identifiers<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php <nowiki>Bringing PostgreSQL torwards the standard regarding case folding</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php <nowiki>Re: [SQL] Case Preservation disregarding case sensitivity?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php <nowiki>TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add autonomous transactions<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php <nowiki>autonomous transactions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Give query progress indication<br />
* [[Query progress indication]]<br />
}}<br />
<br />
{{TodoItem<br />
|Rethink our type system<br />
* [[Rethinking datatypes]]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve push-down of joins, aggregates, and sorts to foreign data wrappers<br />
* [http://www.postgresql.org/message-id/20131121150515.GC23976@momjian.us Status of FDW pushdowns]<br />
}}<br />
<br />
== Features We Do ''Not'' Want ==<br />
<br />
The following features have been discussed ad nauseum on the PostgreSQL mailing lists and the consensus has been that the project is not interested in them. As such, if you are going to bring them up as potential features, you will want to be familiar with all of the arguments against these features which have been previously made over the years. If you decide to work on such features anyway, you should be aware that you face a higher-than-normal barrier to get the Project to accept them.<br />
<br />
{{TodoItem<br />
|All backends running as threads in a single process (not wanted)<br />
|This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years.<br />
* [https://www.postgresql.org/message-id/942824238.20160712165757@bitec.ru One process per session lack of sharing]<br />
}}<br />
<br />
{{TodoItem<br />
|"Oracle-style" optimizer hints (not wanted)<br />
|Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. We would rather have such problems reported and fixed. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. See [[OptimizerHintsDiscussion|Optimizer Hints Discussion]] for further information.}}<br />
<br />
{{TodoItem<br />
|Embedded server (not wanted)<br />
|While PostgreSQL clients runs fine in limited-resource environments, the server requires multiple processes and a stable pool of resources to run reliably and efficiently. Stripping down the PostgreSQL server to run in the same process address space as the client application would add too much complexity and failure cases. Besides, there are several very mature embedded SQL databases already available.}}<br />
<br />
{{TodoItem<br />
|Obfuscated function source code (not wanted)<br />
|Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. At the same time, it would greatly complicate backups and other administrative tasks. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc.<br />
* [http://archives.postgresql.org/pgsql-general/2008-09/msg00668.php <nowiki>Obfuscated stored procedures (was Re: Oracle and Postgresql)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Indeterminate behavior for the GROUP BY clause (not wanted)<br />
|At least one other database product allows specification of a subset of the result columns which GROUP BY would need to be able to provide predictable results; the server is free to return any value from the group. This is not viewed as a desirable feature. PostgreSQL 9.1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-03/msg00297.php <nowiki>Re: SQL compatibility reminder: MySQL vs PostgreSQL</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|On-disk bitmap indexes (not wanted)<br />
|The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable.<br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php <nowiki>Re: Bitmap index AM</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php <nowiki>Bitmap index thoughts</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php <nowiki>Stream bitmaps</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php <nowiki>Re: Bitmapscan changes - Requesting further feedback</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php <nowiki>Updated bitmap index patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php <nowiki>Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01023.php <nowiki>Bitmap Indexes: request for feedback</nowiki>]<br />
* [http://archives.postgresql.org/message-id/800923.27831.qm@web29010.mail.ird.yahoo.com <nowiki>bitmap indexes - performance</nowiki>]<br />
* [http://www.postgresql.org/message-id/20130914181424.GA24448@toroid.org <nowiki>[PATCH] bitmap indexes</nowiki>]<br />
}}<br />
<br />
</div><br />
<br />
[[Category:Todo]]</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgConf.Asia_2016_Developer_Meeting&diff=27901PgConf.Asia 2016 Developer Meeting2016-07-22T05:25:19Z<p>Horiguti: </p>
<hr />
<div>A meeting of the interested PostgreSQL developers is being planned for Thursday 1st December, 2016 in Tokyo, prior to PGConf.Asia 2016. In order to keep the numbers manageable, this meeting is by '''invitation only'''. Unfortunately it is quite possible that we've overlooked important individuals during the planning of the event - if you feel you fall into this category and would like to attend, please contact Dave Page (dpage@pgadmin.org).<br />
<br />
Please note that the attendee numbers have been kept low in order to keep the meeting more productive. Invitations have been sent only to developers that have been highly active on the database server over the 9.6 release cycle. We have not invited any contributors based on their contributions to related projects, or seniority in regional user groups or sponsoring companies.<br />
<br />
This is a PostgreSQL Community event.<br />
<br />
== Meeting Goals ==<br />
<br />
* Review the progress of the 10.0 schedule, and formulate plans to address any issues<br />
* Address any proposed timing, policy, or procedure issues<br />
* Address any proposed [http://en.wikipedia.org/wiki/Wicked_problem Wicked problems]<br />
<br />
== Time & Location ==<br />
<br />
Details TBC.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname) and will be attending:<br />
<br />
* Kyotaro Horiguchi<br />
* Kohei KaiGai<br />
* Dave Page<br />
* Michael Paquier<br />
* Simon Riggs<br />
* Masahiko Sawada<br />
* Teodor Sigaev<br />
<br />
==Agenda==<br />
<br />
TBD<br />
<br />
==Agenda Items==<br />
<br />
Please list any agenda items below for inclusion on the schedule.<br />
* 10.0 Release Schedule</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=25151PgCon 2015 Developer Unconference2015-06-16T19:02:49Z<p>Horiguti: </p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Creating the schedule, please do not change!'''<br />
<br />
== Schedule ==<br />
<br />
[[PgCon_2015_Developer_Unconference_Schedule|Schedule is here]]. It is updated frequently.<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
# Chris Autry<br />
# Ashutosh Bapat<br />
# Oleg Bartunov<br />
# Josh Berkus<br />
# Christopher Browne<br />
# Joe Conway<br />
# Jeff Davis<br />
# Andrew Dunstan<br />
# Ozgun Erdogan (Wednesday)<br />
# Ed Espino<br />
# Andres Freund<br />
# Stephen Frost<br />
# Masao Fujii<br />
# Etsuro Fujita<br />
# Peter Geoghegan<br />
# Kevin Grittner<br />
# Robert Haas<br />
# Ahsan Hadi<br />
# Magnus Hagander<br />
# Shigeru Hanada<br />
# Álvaro Herrera<br />
# Kyotaro Horiguchi<br />
# Thierry Husson (Wednesday @ 11am)<br />
# Ayumi Ishii<br />
# Tatsuo Ishii<br />
# Moshe Jacobson<br />
# Stefan Kaltenbrunner<br />
# Amit Kapila<br />
# Konstantin Knizhnik<br />
# KaiGai Kohei (arrive tuesday evening)<br />
# Alexander Korotkov<br />
# Ilya Kosmodemiansky<br />
# Tom Lane<br />
# Amit Langote<br />
# Heikki Linnakangas<br />
# Chris Malek (Wednesday @ 11am)<br />
# Grant McAlister<br />
# Mack McCauley<br />
# Noah Misch<br />
# Bruce Momjian<br />
# Yugo Nagata<br />
# Satoshi Nagayasu<br />
# Jim Nasby<br />
# Dave Page<br />
# Christophe Pettus<br />
# Paul Ramsey<br />
# Kumar Rajeev Rastogi<br />
# Simon Riggs<br />
# Michael Robinson<br />
# Tetsuo Sakata<br />
# Masahiko Sawada<br />
# Dilip Kumar<br />
# Marco Slot <br />
# Greg Smith<br />
# Steve Singer (arrive tuesday mid-afternoon)<br />
# Jose Luis Tallon (arrives tuesday evening)<br />
# Rod Taylor<br />
# Jan Urbański (Wednesday)<br />
# Tomas Vondra<br />
# Jan Wieck (arrive tuesday evening)<br />
# Chris Winters<br />
# Nat Wyatt<br />
# Naoya Anzai (arrive tuesday evening)<br />
# David Steele (arrive tuesday evening)<br />
# Ingmar Alting<br />
# Mehmet Emin KARAKAŞ<br />
# Yasin TATAR<br />
# Fabrízio de Royes Mello<br />
# Euler Taveira<br />
# Fabio Telles<br />
# Dan Shuster<br />
# Arul Shaji<br />
# Motoyuki Kawaba (arrive Tuesday evening)<br />
# Yurie Enomoto<br />
# Yasuo Honda<br />
# Rob Young<br />
<br />
=Topics=<br />
<br />
''See the schedule at [[PgCon 2015 Developer Unconference Schedule]]''<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Room<br />
!Time<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|Picture!<br />
|DMS1110<br />
|Wed - 17:30<br />
|Open<br />
|Oleg Bartunov (Fuji 16-55)<br />
|All!<br />
|All!<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|DMS1160<br />
|Tue - 14:45 - 15:45<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander, Joe Conway, David Steele, Fabrízio de Royes Mello, Satoshi Nagayasu, Dave Cramer, Alexander Korotkov, Chris Malek, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|DMS1160<br />
|Tue - 16:00 - 17:30<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus, Joe Conway, Michael Robinson, Oleg Bartunov, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|DMS1160<br />
|Wed - 11:30 - 13:00<br />
|Open<br />
|Amit Kapila<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen, Ilya Kosmodemiansky, Tomas Vondra, Grant McAlister, Joe Conway, Peter Geoghegan, Kyotaro Horiguchi, Simon Riggs, Amit Langote, Andres Freund, Robert Haas, David Steele, Rod Taylor, Jim Nasby, Chris Winters, Nat Wyatt, Noah Misch, Masao Fujii, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Andrew Dunstan, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Dave Cramer, Steve Singer, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Marc Jeanneret, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|DMS1160<br />
|Wed - 10:00 - 11:15<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|Noah Misch, Álvaro Herrera, Andres Freund, Robert Haas, Tom Lane, Andrew Dunstan,Oleg Bartunov<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|DMS1120<br />
|Tue - 14:45 - 15:45<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis, Ozgun Erdogan, Tomas Vondra, Peter Geoghegan, Robert Haas, Chris Browne, Josh Berkus, Ingmar Alting, Masao Fujii, Christophe Pettus, Jose Luis Tallon, Heikki Linnakangas, Alexander Korotkov,Oleg Bartunov,Konstantin Knizhnik<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|DMS1160<br />
|Wed - 14:00 - 15:00<br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Tetsuo Sakata, Simon Riggs, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Josh Berkus, Chris Winters, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Satoshi Nagayasu, Andrew Dunstan, Mack McCauley, Shigeru HANADA, Michael Robinson, Steve Singer, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Andres Freund, Marc Jeanneret, Chris Malek, Marco Slot<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|DMS1160<br />
|Wed - Lunch<br />
|Closed<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|During Lunch Wed.<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|DMS1160<br />
|Tue 13:30 - 14:30<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat, Ahsan Hadi, Yurie Enomoto, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|DMS1160<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi, KaiGai Kohei, Noah Misch, Tetsuo Sakata, Peter Geoghegan, Álvaro Herrera, Thierry Husson, Joe Conway, Naoya Anzai, Robert Haas, David Steele, Chris Browne, Jim Nasby, Josh Berkus, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Andrew Dunstan, Jose Luis Tallon, Yurie Enomoto, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Yasuo Honda, Dave Cramer,Steve Singer, Alexander Korotkov, Oleg Bartunov,Konstantin Knizhnik, Chris Malek, Ed Espino<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|DMS1120<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Noah Misch, Tetsuo Sakata, Naoya Anzai, Robert Haas, Jim Nasby, Josh Berkus, Chris Winters, Ingmar Alting, Mehmet Emin KARAKAŞ, Jose Luis Tallon, Oleg Bartunov, Konstanti Knizhnik, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductors - GPU, SSD, NVRAM, FPGA, PMEM...<br />
|DMS1120<br />
|Wed 10:00 - 11:15<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|Matthew Wilcox, Josh Berkus, Satoshi Nagayasu, Jose Luis Tallon, Naoya Anzai, Mack McCauley, Shigeru HANADA, Michael Robinson, Ingmar Alting<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Columnar Storage<br />
|DMS1160<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
|Álvaro Herrera<br />
|Ozgun Erdogan, Tomas Vondra, KaiGai Kohei, Amit Kapila, Josh Berkus, Naoya Anzai, Amit Langote, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Chris Winters, Nat Wyatt, Masao Fujii, Fabrízio de Royes Mello, Euler Taveira, Satoshi Nagayasu, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Heikki Linnakangas, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Andres Freund, Marc Jeanneret, Marco Slot, Ed Espino, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|DMS1120<br />
|Wed 14:00 - 15:00<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kumar Rajeev Rastogi, Josh Berkus, Simon Riggs, Robert Haas, Jim Nasby, Masao Fujii, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Yurie Enomoto, Masahiko Sawada, Shigeru HANADA, Yasuo Honda,Steve Singer, Marc Jeanneret<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|DMS1120<br />
|Tue 13:30 - 14:30<br />
|Open<br />
|<br />
|Jeff Davis<br />
|Kumar Rajeev Rastogi, Noah Misch, Ilya Kosmodemiansky, Amit Kapila, Simon Riggs, Rod Taylor, Jim Nasby, Josh Berkus, Nat Wyatt, Christophe Pettus, Satoshi Nagayasu<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Slony Development]]<br />
|DMS1110<br />
|Wed 10:00 - 11:15<br />
|Open<br />
|<br />
| Steve Singer, Chris Browne, Jan Wieck<br />
| Josh Berkus, Rod Taylor, Jim Nasby, Satoshi Nagayasu, Yurie Enomoto<br />
<br />
|- style="background-color:lightgray;"<br />
|[[DockerizingPostgres|Dockerizing Postgres]]<br />
|DMS1120<br />
|Wed 11:30 - 13:00<br />
|Open<br />
|<br />
| Josh Berkus<br />
| Simon Riggs, Nat Wyatt, Christophe Pettus, Fabrízio de Royes Mello, Jan Urbański, Michael Robinson, Jeff Davis, Rob Young<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Bi Directional Replication & Logical Decoding|BDR]]<br />
|DMS1110<br />
|Tue 16:00 - 17:30<br />
|Open<br />
|<br />
| Simon Riggs<br />
| Andres Freund, Jim Nasby, Josh Berkus, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Michael Robinson, Dave Cramer,Steve Singer, Jeff Davis, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Autonomous Transactions<br />
|DMS1110<br />
|Tue 14:45 - 15:45<br />
|Open<br />
|<br />
| Simon Riggs, Kumar Rajeev Rastogi<br />
| David Steele, Jim Nasby, Josh Berkus, Nat Wyatt, Masao Fujii, Euler Taveira, Andrew Dunstan, Masahiko Sawada, Michael Robinson, Amit Kapila, Chris Malek, Arul Shaji, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Audit Logging<br />
|DMS1110<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
| David Steele<br />
| Josh Berkus, Nat Wyatt, Masao Fujii, Christophe Pettus, Fabio Telles, Satoshi Nagayasu, Yurie Enomoto, Mack McCauley, Masahiko Sawada, Michael Robinson, Oleg Bartunov<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pg_shard v2.0 and Lessons Learned from NoSQL Databases ]]<br />
|DMS1110<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
| Ozgun Erdogan, Marco Slot <br />
| Josh Berkus, Jim Nasby, Josh Berkus, Chris Winters, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Satoshi Nagayasu, Shigeru HANADA, Michael Robinson, Oleg Bartunov, Chris Malek<br />
<br />
<br />
|- style="background-color:lightgray;"<br />
|Direction of json and jsonb<br />
|DMS1110<br />
|Wed 11:30 - 13:00<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus, Masahiko Sawada, Michael Robinson, Rod Taylor, Alexander Korotkov, Oleg Bartunov, Chris Malek, Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Sparse Set Type <br />
|DMS1110<br />
|Wed 14:00 - 15:00<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Michael Robinson<br />
<br />
|- style="background-color:lightgray;"<br />
|Testing Framework Adequacy<br />
|DMS1120<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus, Mack McCauley, Michael Robinson,Steve Singer, Oleg Bartunov, Ed Espino<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Vertical Scalability w.r.t Writes ==<br />
Purpose of this discussion:<br />
* Discuss about priority/importance of various performance and scalability problems<br />
* Solution/Idea to solve most important problem('s)<br />
* Is pgbench sufficient to capture various kind of real world workloads?<br />
<br />
Some of important performance problems I have in mind are:<br />
* Avoid/Reduce Vacuum Freeze<br />
* Bloat<br />
Heap<br />
Index<br />
* Instability in TPS due to checkpointer flush<br />
* Tuple size<br />
Heap Tuple Header <br />
Alignment in index can lead to bigger index size for simple datatypes<br />
Scalability bottlenecks<br />
* Locks<br />
ProcArrayLock<br />
WALWriteLock<br />
CLOGControlLock<br />
Lock for Relation Extension<br />
<br />
* Writes, especially when data doesn't fit in shared buffers.<br />
Write Performance<br />
Double Buffering<br />
In-memory table/tablespaces<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* This will be, ehem, secure so nothing will be written here<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like executor node for partitioned tables<br />
* DML/DDL restrictions on partitioned tables and partitions<br />
* Basically any considerations for partitioned tables and partitions that are explicitly defined so at a layer that's above the storage layer<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductors ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Columnar Storage ==<br />
<br />
See Alvaro's [http://www.postgresql.org/message-id/20150611230316.GM133018@postgresql.org email to Hackers].<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Audit Logging ==<br />
<br />
Audit logging is an important part of a RDBMS for many users and applications. Discuss how best to incorporate audit logging into PostgreSQL and what must be included at a minimum to make the feature viable. <br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Direction of json and jsonb ==<br />
<br />
=== Meeting Notes ===<br />
What are the future needs of the JSON types? Recent suggestions have included an indexable "exists" operator, the JSON pointer and JSON patch standards, <br />
recursive merge, intersection, and being able to assign to a subdocument (json#>path as an lvalue). What are people using these types for, and what are <br />
the major gaps in functionality?<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Sparse Set Type ==<br />
<br />
Sets over small domains can be reasonably modeled by bitmaps, but sets over very large domains can not.<br />
Is there a need for such sets? How would we implement them? Arrays? Balanced trees? Something else?<br />
What types of sets would we allow? Anything with Btree operators, or more restricted? What would the notation look like?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Testing Framework Adequacy ==<br />
<br />
The buildfarm is more than 10 years old, and the testing needs of Postgres and its ofware ecosystem have changed radically in that time.<br />
What do we now need in the way of testing? How do we test complex arrangements such as the various sorts of replication in an automated way?<br />
Do we need a new framwork, or can the existing framework be adapted to our needs?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
<br />
== Unconference schedule by Time and Room ==<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Time<br />
!DMS1110<br />
!DMS1120<br />
!DMS1160<br />
<br />
|- style="background-color:lightgray;"<br />
|Tue 13:30-14:30<br />
|<br />
|PostgreSQL and SMR Drives - the future of magnetic storage means very expensive random writes<br />
|pgPool2 towards version 3.5<br />
<br />
|- style="background-color:lightgray;"<br />
|Tue 14:45-15:45<br />
|Autonomous Transactions<br />
|Native Compilation + LLVM<br />
|pgAdmin4<br />
<br />
|- style="background-color:lightgray;"<br />
|Tue 16:00-17:30<br />
|Bi Directional Replication & Logical Decoding&#124;BDR<br />
|<br />
|Advocacy Team Meeting<br />
<br />
|- style="background-color:lightgray;"<br />
|Wed 10:00-11:15<br />
|Slony Development<br />
|Utilization of modern semiconductors - GPU, SSD, NVRAM, FPGA, PMEM...<br />
|Security Team Meeting<br />
<br />
|- style="background-color:lightgray;"<br />
|Wed 11:30-13:00<br />
|Direction of json and jsonb<br />
|Dockerizing Postgres<br />
|Vertical Scalability w.r.t Write<br />
<br />
|- style="background-color:lightgray;"<br />
|Lunch time<br />
|<br />
|<br />
|PGCAC Board Meeting 2015<br />
<br />
|- style="background-color:lightgray;"<br />
|Wed 14:00-15:00<br />
|Native Sparse Set Type<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Horizontal Scalability / Sharding in PostgreSQL - ground covered so far and remaining to be covered.<br />
<br />
|- style="background-color:lightgray;"<br />
|Wed 15:15-16:15<br />
|pg_shard v2.0 and Lessons Learned from NoSQL Databases<br />
|Testing Framework Adequacy<br />
|Partitioning<br />
<br />
|- style="background-color:lightgray;"<br />
|Wed 16:30-17:30<br />
|Audit Logging<br />
|Foreign Data Wrapper enhancements<br />
|Native Columnar Storage<br />
<br />
|- style="background-color:lightgray;"<br />
|17:30<br />
|Picture!<br />
|<br />
|</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=24957PgCon 2015 Developer Unconference2015-06-12T02:57:51Z<p>Horiguti: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Ozgun Erdogan<br />
* Andres Freund<br />
* Stephen Frost<br />
* Etsuro Fujita<br />
* Peter Geoghegan<br />
* Kevin Grittner<br />
* Robert Haas<br />
* Ahsan Hadi<br />
* Shigeru Hanada<br />
* Álvaro Herrera<br />
* Kyotaro Horiguchi<br />
* Thierry Husson (Wednesday @ 11am)<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* KaiGai Kohei (arrive tuesday evening)<br />
* Alexander Korotkov<br />
* Ilya Kosmodemiansky<br />
* Amit Langote<br />
* Grant McAlister<br />
* Noah Misch<br />
* Bruce Momjian<br />
* Jim Nasby<br />
* Dave Page<br />
* Magnus Hagander<br />
* Kumar Rajeev Rastogi<br />
* Tetsuo Sakata<br />
* Marco Slot (Wednesday)<br />
* Greg Smith<br />
* Steve Singer (arrive tuesday mid-afternoon)<br />
* Tomas Vondra<br />
* Tatsuo Ishii<br />
* Yugo Nagata<br />
* Jan Wieck (arrive tuesday evening)<br />
* Joe Conway<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander, Joe Conway<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander, Joe Conway<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus, Joe Conway<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|Amit Kapila<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen, Ilya Kosmodemiansky, Tomas Vondra, Grant McAlister, Joe Conway, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|Noah Misch, Álvaro Herrera<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis, Ozgun Erdogan, Tomas Vondra<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Tetsuo Sakata<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open*<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi, KaiGai Kohei, Noah Misch, Tetsuo Sakata, Álvaro Herrera, Thierry Husson, Joe Conway<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Noah Misch, Tetsuo Sakata<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, ...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Columnar Storage<br />
|Open<br />
|<br />
|Álvaro Herrera<br />
|Ozgun Erdogan, Tomas Vondra, KaiGai Kohei, Amit Kapila, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kumar Rajeev Rastogi, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|Kumar Rajeev Rastogi, Noah Misch, Ilya Kosmodemiansky, Amit Kapila<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Slony Development]]<br />
|Open<br />
|<br />
| Steve Singer, Chris Browne, Jan Wieck<br />
| Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[DockerizingPostgres|Dockerizing Postgres]]<br />
|Open<br />
|<br />
| Josh Berkus<br />
| <br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Vertical Scalability w.r.t Writes ==<br />
Purpose of this discussion:<br />
* Discuss about priority/importance of various performance and scalability problems<br />
* Solution/Idea to solve most important problem('s)<br />
* Is pgbench sufficient to capture various kind of real world workloads?<br />
<br />
Some of important performance problems I have in mind are:<br />
* Avoid/Reduce Vacuum Freeze<br />
* Bloat<br />
Heap<br />
Index<br />
* Instability in TPS due to checkpointer flush<br />
* Tuple size<br />
Heap Tuple Header <br />
Alignment in index can lead to bigger index size for simple datatypes<br />
Scalability bottlenecks<br />
* Locks<br />
ProcArrayLock<br />
WALWriteLock<br />
CLOGControlLock<br />
Lock for Relation Extension<br />
<br />
* Writes, especially when data doesn't fit in shared buffers.<br />
Write Performance<br />
Double Buffering<br />
In-memory table/tablespaces<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like executor node for partitioned tables<br />
* DML/DDL restrictions on partitioned tables and partitions<br />
* Basically any considerations for partitioned tables and partitions that are explicitly defined so at a layer that's above the storage layer<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Columnar Storage ==<br />
<br />
See Alvaro's [http://www.postgresql.org/message-id/20150611230316.GM133018@postgresql.org email to Hackers].<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=24841PgCon 2015 Developer Unconference2015-06-05T06:07:49Z<p>Horiguti: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Stephen Frost<br />
* Robert Haas<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* Alexander Korotkov<br />
* Amit Langote<br />
* Grant McAlister<br />
* Jim Nasby<br />
* Dave Page<br />
* Magnus Hagander<br />
* Kumar Rajeev Rastogi<br />
* Greg Smith<br />
* KaiGai Kohei<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, ...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like execution node for partitioned tables<br />
* DML/DDL restrictions on new partitioned tables and partitions<br />
* Scope for initial feature development<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=24840PgCon 2015 Developer Unconference2015-06-05T06:02:54Z<p>Horiguti: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Stephen Frost<br />
* Robert Haas<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* Alexander Korotkov<br />
* Amit Langote<br />
* Grant McAlister<br />
* Jim Nasby<br />
* Dave Page<br />
* Magnus Hagander<br />
* Kumar Rajeev Rastogi<br />
* Greg Smith<br />
* KaiGai Kohei<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, ...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like execution node for partitioned tables<br />
* DML/DDL restrictions on new partitioned tables and partitions<br />
* Scope for initial feature development<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=24839PgCon 2015 Developer Unconference2015-06-05T06:01:28Z<p>Horiguti: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Stephen Frost<br />
* Robert Haas<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* Alexander Korotkov<br />
* Amit Langote<br />
* Grant McAlister<br />
* Jim Nasby<br />
* Dave Page<br />
* Magnus Hagander<br />
* Kumar Rajeev Rastogi<br />
* Greg Smith<br />
* KaiGai Kohei<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, ...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like execution node for partitioned tables<br />
* DML/DDL restrictions on new partitioned tables and partitions<br />
* Scope for initial feature development<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Horigutihttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=24838PgCon 2015 Developer Unconference2015-06-05T06:00:55Z<p>Horiguti: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Jeff Davis<br />
* Stephen Frost<br />
* Robert Haas<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* Alexander Korotkov<br />
* Amit Langote<br />
* Grant McAlister<br />
* Jim Nasby<br />
* Dave Page<br />
* Magnus Hagander<br />
* Kumar Rajeev Rastogi<br />
* Greg Smith<br />
* KaiGai Kohei<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, ...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like execution node for partitioned tables<br />
* DML/DDL restrictions on new partitioned tables and partitions<br />
* Scope for initial feature development<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Horiguti