Freebsd syscache daemon


timestamp subtraction (was Re: formatting intervals with to_char) Allow a comma to denote fractional seconds in ISO-8601-compliant times (and timestamps) http://www. Timestamp with time zone a la sql99 Have timestamp subtraction not call justify_hours(). Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules.

Conf Change the manpage-generating toolchain to use the new XML-based docbook2x tools A smaller default postgresql. Typmod information) Mark result columns as known-not-null when possible Adding nullable indicator to Describe Use compression Specify and implement wire protocol compression. Php When full page writes are off, write CRC to WAL and check file system blocks on recovery If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. Org Improve handling of pg_stat_statements handling of bind “IN” variables Revisiting pg_stat_statements and IN() Miscellaneous Performance Use mmap() rather than shared memory for shared buffers. Php Allow the CTE (Common Table Expression) optimization fence to be optionally disabled http://archives. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. This would remove the requirement for SYSV SHM but would introduce portability issues. In check for link failure when the cause is found Allow psql to use readline once non-US code pages work with backslashes Improve signal handling Simplify Win32 Signaling code Support PGXS when using MSVC Fix MSVC NLS support, like for to_char() NLS on MSVC strikes back. 4, but it still remains to figure out how to handle plain indexscans effectively. 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. Php Avoid reading in b-tree pages when replaying vacuum records in hot standby mode Hot Standby tuning for btree_xlog_vacuum() Restructure truncation logic to be more resistant to failure This also involves not writing dirty buffers for a truncated or dropped relation http://archives. Php WIP double writes double writes Double-write with Fast Checksums double writes using “double-write buffer” approach http://archives. Com Permit lazy fetches of large values, at least out-of-line TOASTED values http://www. This is not viewed as a desirable feature. 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. Conf A smaller default postgresql. Proposal: schema PL session variables proposal: session server side variables Packages: Again Consider allowing control of upper/lower case folding of unquoted identifiers Bringing PostgreSQL torwards the standard regarding case folding Re: [SQL] Case Preservation disregarding case sensitivity. Php Log statements where the optimizer row estimates were dramatically different from the number of rows actually found. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years. Org Improve setting of visibility map bits for read-only and insert-only workloads http://www. Thoughts about bug #3883 Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent Detect deadlocks involving LockBufferForCleanup() Thoughts about bug #3883 Allow finer control over who is cancelled in a deadlock http://archives. Consider compressed annealing to search for query plans This might replace GEQO. Problems with the patch submitted for posix_fadvise in index scans SMP scalability improvements Straightforward changes for increased SMP scalability Re: Reducing Transaction Start/End Contention TOAST Allow user configuration of TOAST thresholds Re: Proposed adjustments in MaxTupleSize and toastthresholds pg_lzcompress strategy parameters Reduce unnecessary cases of deTOASTing Re: [PATCHES] Eliminate more detoast copies for packed varlenas Reduce costs of repeat de-TOASTing of values WIP patch: reducing overhead for repeat de-TOASTing Monitoring Have pg_stat_activity display query strings in the correct client encoding pg_stats queries versus per-database encodings Add entry creation timestamp column to pg_stat_replication http://archives. Pg_export_snapshot on standby side Provide a way to enumerate and unregister background workers Right now the only way to unregister bgworkers is from within the worker with proc_exit(0) or registering with BGW_NEVER_RESTART https://www. Obfuscated stored procedures (was Re: Oracle and Postgresql) Indeterminate behavior for the GROUP BY clause (not wanted) 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. Proposal for PL packages for 8. SSL before connecting http://www. Php [PATCH] Add support for GnuTLS TODO: GNU TLS Consider making NAMEDATALEN more configurable Research use of signals and sleep wake ups Restartable signals ‘n all that Allow C++ code to more easily access backend code Mostly Harmless: Welcoming our C++ friends C++ port of Postgres Consider simplifying how memory context resets handle child contexts Re: Memory leak in nodeAgg Improve detection of shared memory segments being used by others by checking the SysV shared memory field ‘nattch’ postgresql in FreeBSD jails: proposal Re: postgresql in FreeBSD jails: proposal Implement the non-threaded Avahi service discovery protocol Re: [PATCHES] Avahi support for Postgresql Re: Avahi support for Postgresql Re: [PATCHES] Avahi support for Postgresql Re: [HACKERS] Avahi support for Postgresql Reduce data row alignment requirements on some 64-bit systems [WIP] Reduce alignment requirements on 64-bit systems. Column names of result sets using new statement protocol Set protocol for wire format negotiation GUC_REPORT for protocol tunables Make sure upgrading to a 4. Php Restructure /contrib section http://archives. Us Locking Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts FOR SHARE vs FOR UPDATE locks Re: FOR SHARE vs FOR UPDATE locks Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch Re: savepoints and upgrading locks Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned BUG #3883: Autovacuum deadlock with truncate. Ru Hashing Consider using a hash for joining to a large IN (VALUES. It is also possible to implement these capabilities in any schema and not use a separate “packages” syntax at all. Built-in sharding wiki Miscellaneous Other Deal with encoding issues for filenames in the server filesystem a proposed patch here some issues about it here Windows-specific patch here Deal with encoding issues in the output of localeconv() bug report draft patch review of patch Have GB18030 handle more than 2-byte Unicode code points GB18030 encoding doesn’t support Unicode characters over 0xFFFF Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports How to get schema name which violates fk constraint patch – Report the schema along table name in a referential failure error message Re: NOT NULL violation and error-message the case for machine-readable error fields Use sa_mask to close race conditions between signal handlers http://www. Re: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables Consider adding buffers the background writer finds reusable to the free list Background LRU Writer/free list our buffer replacement strategy is kind of lame Page replacement algorithm in buffer cache Move unused buffers to freelist Automatically tune bgwriter_delay based on activity rather then using a fixed interval Background LRU Writer/free list our buffer replacement strategy is kind of lame Consider whether increasing BM_MAX_USAGE_COUNT improves performance Bgwriter LRU cleaning: we’ve been going at this all wrong Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency Re: Load Distributed Checkpoints, final patch Concurrent Use of Resources Do async I/O for faster random read-ahead of data Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously. Php Improve autovacuum tuning http://www. Conf A smaller default postgresql. De Rather than consider mmap()-ing in 8k pages, consider mmap()’ing entire files into a backend. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Re: Index Scans become Seq Scans after VACUUM ANALYSE http://archives. Org/6/320/ Allow re-authentication Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake. 0 realistic for SCSI RAID 1 There’s random access and then there’s random access Bitmap index scan preread using posix_fadvise (Was: There’s random access and then there’s random access) The above patch is already applied as of 8. Re: SQL compatibility reminder: MySQL vs PostgreSQL On-disk bitmap indexes (not wanted) The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable. Php 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 Ideally these enhancements and new facilities will be available to external sharding solutions as well. 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. Php Windows Remove configure. Net Fix cross-compiling on Windows http://archives. Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call pgsql: Avoid incrementing the CommandCounter when Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation Re: TB-sized databases Consider not storing a NULL bitmap on disk if all the NULLs are trailing Proposal for Null Bitmap Optimization(for Trailing NULLs) Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs) Sort large UPDATE/DELETEs so it is done in heap order Possible future performance improvement: sort updates/deletes by ctid Add auto-tuning of work_mem Auto-tuning work_mem and maintenance_work_mem Consider decreasing the I/O caused by updating tuple hint bits Hint Bits and Write I/O Re: [HACKERS] Hint Bits and Write I/O http://archives. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC. Com Send numeric version to clients in fixed header patch to send server_version_num in v3 protocol as GUC_REPORT Add decoded type length/precision (i. Com Documentation [E] Add contrib functions to the index Add the functions and GUCs in the contrib modules to the documentation index: per list discussion Provide a manpage for postgresql. Note that compression is being removed from TLS 1. Embedded server (not wanted) 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. 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. Obfuscated function source code (not wanted) Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. Asynchronous I/O Support Re: random_page_costs – are defaults of 4. Php Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values http://www. Re: AutoVacuum Behaviour Question Prevent autovacuum from running if an old transaction is still running from the last vacuum Re: Autovacuum and OldestXmin Have autoanalyze of parent tables occur when child tables are modified http://archives. ) list Planning large IN lists Allow single batch hash joins to preserve outer pathkeys Re: Potential Join Performance Issue a few crazy ideas about hash joins Use “lazy” hash tables to look up only the tuples that are actually requested a few crazy ideas about hash joins Avoid building the same hash table more than once during the same query a few crazy ideas about hash joins Avoid hashing for distinct and then re-hashing for hash join Re: Fixing Grittner’s planner issues a few crazy ideas about hash joins Background Writer Consider having the background writer update the transaction status hint bits before writing out the page Implementing this requires the background writer to have access to system catalogs and the transaction status log. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. Php Vacuum Gin indexes in physically order rather than logical order http://archives. Page Checksums + Double Writes Allow WAL information to recover corrupted pg_controldata Re: [HACKERS] pg_resetxlog -r flag Speed WAL recovery by allowing more than one page to be prefetched This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. Com Add diagrams to the documentation http://archives. Client needs to be able to specify statement boundary with protocol message. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. discussion Prevent long-lived temporary tables from causing frozen-xid advancement starvation The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can. Com Allow pg_export_snapshot() to run on hot standby servers This will allow parallel pg_dump on such servers. One process per session lack of sharing “Oracle-style” optimizer hints (not wanted) Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. Php Update clients to use data types, typmod, schema. 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. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc. Besides, there are several very mature embedded SQL databases already available. Php Allow configuration of backend priorities via the operating system Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem. Php Allow shared buffer cache contents to affect index cost computations http://archives. Php Avoid creation of the free space map for small tables http://archives. Com Add session-level whitelisting of types for binary-mode transfer http://www. Write full pages during file system write and not when the page is modified in the buffer cache This allows most full page writes to happen in the background writer. Restructure TOAST internal storage format for greater flexibility Re: PG_PAGE_LAYOUT_VERSION 5 – time for change Research different memory allocation methods for lists http://archives. These pages can also be eliminated from point-in-time archive files. TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers Identifier case folding notes Identifier case folding notes Cluster wide option to control symbol case folding Add autonomous transactions autonomous transactions Give query progress indication Query progress indication Rethink our type system Rethinking datatypes Features We Do Not Want 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. Php Exotic Features Add pre-parsing phase that converts non-ISO syntax to supported syntax This could allow SQL written for other databases to run without modification. 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. Com Clarify semantics of statement_timeout in extended query protocol Batched and pipelined queries have unexpected behaviour with statement_timeout. Try client peer, fall back to md5) http://www. Com Fix hang with long file paths Long paths for tablespace leads to uninterruptible hang in Windows Wire Protocol Changes / v4 Protocol
Allow dynamic character set handling Ensure the client can determine the encoding of messages sent early in the handshake http://www. Php Consider removing the attribute options cache http://archives. Org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML Document support for N’ ‘ national character string literals, if it matches the SQL standard http://archives. Php Startup Time Improvements Allow backends to change their database without restart This allows for faster server startup. Priorities for users or queries. Allow plug-in modules to emulate features from other databases Add features of Oracle-style packages A package would be a schema with session-local variables, public/private functions, and initialization functions. Php Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running http://archives. 3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back. Php Write-Ahead Log Eliminate need to write full pages to WAL before page modification 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. Php Allow reporting of stalls due to wal_buffer wrap-around http://archives. Geqo_threshold Improve ability to display optimizer analysis using OPTIMIZER_DEBUG http://archives. 1 protocol version will actually work smoothly Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable Allow multi-state authentication (e. Php Reduce file statistics overhead on directory reads http://www. Com Allow negotiation of encryption, STARTTLS style, rather than forcing client to decide on SSL or . It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL. ) Fix global namespace issues when using multiple terminal server sessions problems with Windows global namespace Change from the current autoconf/gmake build system to cmake About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major) Improve consistency of path separator usage http://archives. At the same time, it would greatly complicate backups and other administrative tasks. We could also consider mmap() for writing WAL. Identify the affected object in CommandComplete message. Us Send client the xid when it is allocated Lets the client later ask the server “did this commit or not. Conf Consider changing documentation format from SGML to XML Re: Authoring Tools WAS: Switching to XML http://archives. Re: Bitmap index AM Bitmap index thoughts Stream bitmaps Re: Bitmapscan changes – Requesting further feedback Updated bitmap index patch Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch) Bitmap Indexes: request for feedback bitmap indexes – performance [PATCH] bitmap indexes . Jp Create a more efficient way to handle out-of-line parameters Re: Slowness of extended protocol Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message) https://www. Php Auto-vacuum Issue log message to suggest VACUUM FULL if a table is nearly empty. 3 so we really need to do it ourselves. Provide more information in order to improve user-side estimates of dead space bloat in relations Re: Bloated Table Reduce the number of table scans performed by vacuum http://archives. 1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY. Slow PITR restore Re: [GENERAL] Slow PITR restore Read-ahead and parallelism in redo recovery Improve WAL concurrency by increasing lock granularity Reworking WAL locking Have resource managers report the duration of their status changes Recovery of Multi-stage WAL actions Close deleted WAL files held open in *nix by long-lived read-only backends Deleted WAL files held open by backends in Linux Re: Deleted WAL files held open by backends in Linux Optimizer / Executor Improve selectivity functions for geometric operators Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold from_collapse_limit vs. See Optimizer Hints Discussion for further information. We would rather have such problems reported and fixed. Com Changes to make cancellations more reliable and more secure http://www. Com Source Code Allow cross-compiling by generating the zic database on the target system Improve NLS maintenance of libpgport messages linked onto applications Use UTF8 encoding for NLS messages so all server encodings can read them properly Allow creation of universal binaries for Darwin Getting to universal binaries for Darwin Consider GnuTLS if OpenSSL license becomes a problem http://archives. ” after interterminate result due to crash or connection loss Report xlog position in commit message Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet http://www. Us Improve use of expression indexes for ORDER BY Resjunk sort columns, Heikki’s index-only quals patch, and bug #5000 Modify the planner to better estimate caching effects http://archives. Com Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server http://www. All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup.

Solve cardinality > 1 for input descriptors / variables. Avoid requirement for AFTER trigger functions to return a value http://archives. Proposal: schema PL session variables proposal: session server side variables Packages: Again Consider allowing control of upper/lower case folding of unquoted identifiers Bringing PostgreSQL torwards the standard regarding case folding Re: [SQL] Case Preservation disregarding case sensitivity. Org Improve handling of pg_stat_statements handling of bind “IN” variables Revisiting pg_stat_statements and IN() Miscellaneous Performance Use mmap() rather than shared memory for shared buffers. 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. Php Consider having a larger statistics target for indexed columns and expression indexes. Geqo_threshold Improve ability to display optimizer analysis using OPTIMIZER_DEBUG http://archives. De Rather than consider mmap()-ing in 8k pages, consider mmap()’ing entire files into a backend. Consider using “effective_io_concurrency” for index scans Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans. Have COPY FREEZE set PD_ALL_VISIBLE items GRANT/REVOKE Allow SERIAL sequences to inherit permissions from the base table. Php Allow creation of inline triggers http://archives. TRIGGER requires a table lock so it is not ideal for this usage. One process per session lack of sharing “Oracle-style” optimizer hints (not wanted) Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. Php Consider removing the attribute options cache http://archives. Id=75 Re: visibility maps and heap_prune Allow VACUUM FULL and CLUSTER to update the visibility map index-only scans : abnormal heap fetches after VACUUM FULL Improve tracking of total relation tuple counts now that vacuum doesn’t always scan the whole heap Partial vacuum versus pg_class. Provide some guarantees about the behavior of cursors that invoke volatile functions Re: Cursor with hold emits the same row more than once across commits in 8. Php 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 Ideally these enhancements and new facilities will be available to external sharding solutions as well. Prefetch index pages for B-Tree index scans Allow GIN indexes to be used for exclusion constraints http://archives. Php Auto-vacuum Issue log message to suggest VACUUM FULL if a table is nearly empty. Php Allow “loose” or “skip” scans on btree indexes in which the first column has low cardinality http://archives. Com Fix hang with long file paths Long paths for tablespace leads to uninterruptible hang in Windows Wire Protocol Changes / v4 Protocol
Allow dynamic character set handling Ensure the client can determine the encoding of messages sent early in the handshake http://www. Add database and transaction-level triggers Proposal for db level triggers triggers on prepare, commit, rollback. Us Send client the xid when it is allocated Lets the client later ask the server “did this commit or not. Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups RETURNING and DO INSTEAD. 0 realistic for SCSI RAID 1 There’s random access and then there’s random access Bitmap index scan preread using posix_fadvise (Was: There’s random access and then there’s random access) The above patch is already applied as of 8. This could exhaust memory for very large trigger queues. Allow NOTIFY in rules involving conditionals Allow LISTEN on patterns http://www. Perhaps the word wrapping could use the same algorithm documented in the W3C specification. Allow plug-in modules to emulate features from other databases Add features of Oracle-style packages A package would be a schema with session-local variables, public/private functions, and initialization functions. Integrity Constraints Keys Improve deferrable unique constraints for cases with many conflicts The current implementation fires a trigger for each potentially conflicting row. Conf Change the manpage-generating toolchain to use the new XML-based docbook2x tools A smaller default postgresql. Us Allow index-only COUNT(*) for indexes which don’t support index-only scans Improve GIN performance Small GIN optimizations (after 9. Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Identify the affected object in CommandComplete message. Us Improve use of expression indexes for ORDER BY Resjunk sort columns, Heikki’s index-only quals patch, and bug #5000 Modify the planner to better estimate caching effects http://archives. 5, with the addition of “ON CONFLICT DO UPDATE”. Conf Consider changing documentation format from SGML to XML Re: Authoring Tools WAS: Switching to XML http://archives. Com Allow pg_export_snapshot() to run on hot standby servers This will allow parallel pg_dump on such servers. 0f Have EXPLAIN ANALYZE report buckets and memory usage for HashAggregate to-do item for explain analyze of hash aggregates. Org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML Document support for N’ ‘ national character string literals, if it matches the SQL standard http://archives. Another idea would be to create a merged heap/index data file so an index lookup would automatically access the heap data too. Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call pgsql: Avoid incrementing the CommandCounter when Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation Re: TB-sized databases Consider not storing a NULL bitmap on disk if all the NULLs are trailing Proposal for Null Bitmap Optimization(for Trailing NULLs) Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs) Sort large UPDATE/DELETEs so it is done in heap order Possible future performance improvement: sort updates/deletes by ctid Add auto-tuning of work_mem Auto-tuning work_mem and maintenance_work_mem Consider decreasing the I/O caused by updating tuple hint bits Hint Bits and Write I/O Re: [HACKERS] Hint Bits and Write I/O http://archives. Cluster could definitely benefit from this. Consider compressed annealing to search for query plans This might replace GEQO. Consider using pg_depend for checking object usage in version. 1) Allow holdable cursors in SPI Rethink query plan caching and timing of parse analysis within SQL-language functions They should work more like plpgsql functions do. Php Add ALTER OPERATOR. This could also control automatic sequence/index creation messages. Php Add support for interface/ipaddress binding to libpq SR/libpq – outbound interface/ipaddress binding When receiving a FATAL error remember it, so that it doesn’t profess ingnorance about why the session was closed Idle In Transaction Session Timeout, revived Pipelining support for libpq async API and an array-valued PQexecPrepared that uses it Foreign table batched inserts Triggers Improve storage of deferred trigger queue Right now all deferred trigger information is stored in backend memory. foreign keys for array/period contains relationships Fix problem when cascading referential triggers make changes on cascaded tables, seeing the tables in an intermediate state Re: [PATCHES] Work-in-progress referential action trigger timing Are ri_KeysEqual checks in the RI enforcement triggers still necessary. Php Prevent psql from sending remaining single-line multi-statement queries after reconnecting http://archives. Tuplestore_advance seems like a weak spot as well. LIKE that copies a schema Fix CREATE OR REPLACE FUNCTION to not leave objects depending on the function in inconsistent state indexes on functions and create or replace function Allow temporary tables to exist as empty by default in all sessions what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL idea: global temp tables Re: idea: global temp tables global temporary tables Temporary tables under hot standby Implementation of global temporary tables. Re: VLDB Features Allow COPY to report errors sooner Timely reporting of COPY errors Allow COPY FROM to create index entries in bulk Batch update of indexes on data loading Improve COPY performance Re: 8. (*), tval2 := r. 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. Php Reduce file statistics overhead on directory reads http://www. Teach planner to evaluate multiple windows in the optimal order Currently windows are always evaluated in the query-specified order. Php Allow reporting of stalls due to wal_buffer wrap-around http://archives. Passing them as globals means functions cannot be called recursively. Php Consider having single-page pruning update the visibility map https://commitfest. Re: psql wrapped format default for backslash-d commands http://www. Re: column ordering, was Re: [PATCHES] Enums patch v2 Column reordering in pg_dump http://archives. Com Changes to make cancellations more reliable and more secure http://www. BUG #6021: There is no difference between default and empty access privileges with dp Consistently display privilege information for all objects in psql [E] s without arguments (display history) fails with libedit, doesn’t use pager either psql s not working – OS X Add a set variable to control whether s displays line numbers Another option is to add # which lists line numbers, and allows command execution. Besides, there are several very mature embedded SQL databases already available. This might not scale well for an update that changes many key values at once. Php WIP double writes double writes Double-write with Fast Checksums double writes using “double-write buffer” approach http://archives. Php Improve PERFORM handling of WITH queries or document limitation http://archives. 0 Allow multiple indexes to be created concurrently, ideally via a single heap scan pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this. Conf A smaller default postgresql. Pg_export_snapshot on standby side Provide a way to enumerate and unregister background workers Right now the only way to unregister bgworkers is from within the worker with proc_exit(0) or registering with BGW_NEVER_RESTART https://www. Autovacuum and temp tables support UPDATE Research self-referential UPDATEs that see inconsistent row versions in read-committed mode Concurrently updating an updatable view Improve performance of EvalPlanQual mechanism that rechecks already-updated rows This is related to the previous item, which questions whether it even has the right semantics BUG #4401: concurrent updates to a table blocks one update indefinitely BUG #4945: Parallel update(s) gone wild ALTER Have ALTER TABLE RENAME of a SERIAL column rename the sequence Re: newbie: renaming sequences task renaming implicit sequences Have ALTER SEQUENCE RENAME rename the sequence name stored in the sequence table BUG #3619: Renaming sequence does not update its ‘sequence_name’ field Re: newbie: renaming sequences task Add ALTER DOMAIN to modify the underlying data type Allow ALTER TABLESPACE to move the tablespace to different directories Allow moving system tables to other tablespaces, where possible Currently non-global system tables must be in the default database tablespace. Allow multidimensional arrays Implement COPY FROM STDIN Provide a way to specify size of a bytea parameter BUG #4866: ECPG and BYTEA [E] Fix small memory leaks in ecpg Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated Allow reuse of cursor name variables Problems with variable cursorname in ecpg libpq Prevent PQfnumber() from lowercasing unquoted column names PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it Consider disallowing multiple queries in PQexec() as an additional barrier to SQL injection attacks Re: InitPostgres and flatfiles question Add PQexecf() that allows complex parameter substitution Last minute mini-proposal (I know, know) for PQexecf() Add SQLSTATE and severity to errors generated within libpq itself v8. Try client peer, fall back to md5) http://www. Php PL/Python Create a new restricted execution class that will allow passing function arguments in as locals. 3 so we really need to do it ourselves. Re: SQL compatibility reminder: MySQL vs PostgreSQL On-disk bitmap indexes (not wanted) The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable. These pages can also be eliminated from point-in-time archive files. Re: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables Consider adding buffers the background writer finds reusable to the free list Background LRU Writer/free list our buffer replacement strategy is kind of lame Page replacement algorithm in buffer cache Move unused buffers to freelist Automatically tune bgwriter_delay based on activity rather then using a fixed interval Background LRU Writer/free list our buffer replacement strategy is kind of lame Consider whether increasing BM_MAX_USAGE_COUNT improves performance Bgwriter LRU cleaning: we’ve been going at this all wrong Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency Re: Load Distributed Checkpoints, final patch Concurrent Use of Resources Do async I/O for faster random read-ahead of data Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously. Client needs to be able to specify statement boundary with protocol message. Proposal: real procedures again (8. Allow DISTINCT to work in multiple-argument aggregate calls Add comments on system tables/columns using the information in catalogs. 1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY. With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY If the dump is known to be valid, allow foreign keys to be added without revalidating the data. One proposal is to let pg_dump issue such commands if the -C switch was used, but it’s unclear whether that will satisfy the demand. Us GIST Add more GIST index support for geometric data types Allow GIST indexes to create more complex index types, like digital trees (see Aoki) Fix performance issues in contrib/seg and contrib/cube GiST support GiST index performance draft patch Re: GiST index performance GiST index performance GiST index support for arrays Hash Add UNIQUE capability to hash indexes Re: PG10 Crash-safe and replicable Hash Indexes and UNIQUE Allow multi-column hash indexes This requires all columns to be specified for a query to use the index. Com CREATE Allow CREATE TABLE AS to determine column lengths for complex expressions like SELECT col1 Have WITH CONSTRAINTS also create constraint indexes Re: CREATE TABLE LIKE INCLUDING INDEXES support Move NOT NULL constraint information to pg_constraint Currently NOT NULL constraints are stored in pg_attribute without any designation of their origins, e. Built-in sharding wiki Miscellaneous Other Deal with encoding issues for filenames in the server filesystem a proposed patch here some issues about it here Windows-specific patch here Deal with encoding issues in the output of localeconv() bug report draft patch review of patch Have GB18030 handle more than 2-byte Unicode code points GB18030 encoding doesn’t support Unicode characters over 0xFFFF Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports How to get schema name which violates fk constraint patch – Report the schema along table name in a referential failure error message Re: NOT NULL violation and error-message the case for machine-readable error fields Use sa_mask to close race conditions between signal handlers http://www. Php Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running http://archives. Indexes Prevent index uniqueness checks when UPDATE does not modify the column Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE. Row of nulls in plpgsql http://archives. Ru Hashing Consider using a hash for joining to a large IN (VALUES. Sgml Ideally the information would be pulled from the SGML file automatically. 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. Com Clarify semantics of statement_timeout in extended query protocol Batched and pipelined queries have unexpected behaviour with statement_timeout. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. 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. Re: BUG #6019: invalid cached plan on inherited table Allow regex operations in PL/Perl using UTF8 characters in non-UTF8 encoded databases PL/pgSQL Allow handling of %TYPE arrays, e. 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. Slow PITR restore Re: [GENERAL] Slow PITR restore Read-ahead and parallelism in redo recovery Improve WAL concurrency by increasing lock granularity Reworking WAL locking Have resource managers report the duration of their status changes Recovery of Multi-stage WAL actions Close deleted WAL files held open in *nix by long-lived read-only backends Deleted WAL files held open by backends in Linux Re: Deleted WAL files held open by backends in Linux Optimizer / Executor Improve selectivity functions for geometric operators Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold from_collapse_limit vs. This would allow non-psql clients to pull the same information out of the database as psql. Conf A smaller default postgresql. Php [PATCH] Add support for GnuTLS TODO: GNU TLS Consider making NAMEDATALEN more configurable Research use of signals and sleep wake ups Restartable signals ‘n all that Allow C++ code to more easily access backend code Mostly Harmless: Welcoming our C++ friends C++ port of Postgres Consider simplifying how memory context resets handle child contexts Re: Memory leak in nodeAgg Improve detection of shared memory segments being used by others by checking the SysV shared memory field ‘nattch’ postgresql in FreeBSD jails: proposal Re: postgresql in FreeBSD jails: proposal Implement the non-threaded Avahi service discovery protocol Re: [PATCHES] Avahi support for Postgresql Re: Avahi support for Postgresql Re: [PATCHES] Avahi support for Postgresql Re: [HACKERS] Avahi support for Postgresql Reduce data row alignment requirements on some 64-bit systems [WIP] Reduce alignment requirements on 64-bit systems. ALTER DATABASE vs pg_dump summary of the issues rehash five years later sketch for division of labor between pg_dump and pg_dumpall 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. Problems with the patch submitted for posix_fadvise in index scans SMP scalability improvements Straightforward changes for increased SMP scalability Re: Reducing Transaction Start/End Contention TOAST Allow user configuration of TOAST thresholds Re: Proposed adjustments in MaxTupleSize and toastthresholds pg_lzcompress strategy parameters Reduce unnecessary cases of deTOASTing Re: [PATCHES] Eliminate more detoast copies for packed varlenas Reduce costs of repeat de-TOASTing of values WIP patch: reducing overhead for repeat de-TOASTing Monitoring Have pg_stat_activity display query strings in the correct client encoding pg_stats queries versus per-database encodings Add entry creation timestamp column to pg_stat_replication http://archives. Fix memory leak caused by negative catcache entries Re: Memory leak in PL/pgSQL function which CREATE/SELECT/DROP a temporary table Vacuum Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer Dead Space Map Re: Automatic free space map filling Allow concurrent inserts to use recently created pages rather than creating new ones http://archives. Global system tables can never be moved. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years. Asynchronous I/O Support Re: random_page_costs – are defaults of 4. Php Log statements where the optimizer row estimates were dramatically different from the number of rows actually found. Tuplestore potential performance problem Do we really need so much duplicated code between Agg and WindowAgg. Php Gathering specs and discussion on feature (post 9. 6 restore comparison http://archives. ” after interterminate result due to crash or connection loss Report xlog position in commit message Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet http://www. Php Allow the CTE (Common Table Expression) optimization fence to be optionally disabled http://archives. Implement full support for window framing clauses In addition to done clauses described in the latest doc, these clauses are not implemented yet. 4, but it still remains to figure out how to handle plain indexscans effectively. Column names of result sets using new statement protocol Set protocol for wire format negotiation GUC_REPORT for protocol tunables Make sure upgrading to a 4. 0f Re: explain analyze rows=%. Com Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server http://www. Jp Create a more efficient way to handle out-of-line parameters Re: Slowness of extended protocol Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message) https://www. CYCLE in vanilla SQL: issues with arrays of rows Add DEFAULT. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Com Source Code Allow cross-compiling by generating the zic database on the target system Improve NLS maintenance of libpgport messages linked onto applications Use UTF8 encoding for NLS messages so all server encodings can read them properly Allow creation of universal binaries for Darwin Getting to universal binaries for Darwin Consider GnuTLS if OpenSSL license becomes a problem http://archives. However, HOT already short-circuits this in common cases, so more work might not be helpful. 1: Error severity on libpq PGconn* http://archives. Com Add session-level whitelisting of types for binary-mode transfer http://www. Stats for multi-column indexes Cross-column statistics revisited Multi-Dimensional Histograms http://archives. Improve type determination of unknown (NULL or quoted literal) result columns for UNION/INTERSECT/EXCEPT UNION construct type cast gives poor error message Allow prepared transactions with temporary tables created and dropped in the same transaction, and when an ON COMMIT DELETE ROWS temporary table is accessed Re: “could not open relation 1663/16384/16584: No such file or directory” in a specific combination of transactions with temp tables A suggestion on how to implement this Add a GUC variable to warn about non-standard SQL usage in queries Add NOVICE output level for helpful messages For example, have it warn about unjoined tables. Net Do not scan the table when a check constraint is added in the same command that adds the column skip table scan for adding column with provable check constraints Server-Side Languages Add support for polymorphic arguments and return types to languages other than PL/PgSQL Add support for OUT and INOUT parameters to languages other than PL/PgSQL Add more fine-grained specification of functions taking arbitrary data types RfD: more powerful “any” types Implement stored procedures This might involve the control of transaction state and the return of multiple result sets PL/pgSQL stored procedure returning multiple result sets (SELECTs). Html#auto-table-layout Add option to print advice for people familiar with other databases MySQL-ism help patch for psql Fix FETCH_COUNT to handle SELECT. It is also possible to implement these capabilities in any schema and not use a separate “packages” syntax at all. Re: MemoryContextAllocHuge(): selectively bypassing MaxAllocSize Cache Usage Consider automatic caching of statements at various levels: Parsed query tree Query execute plan Query results Cached Query Plans (was: global prepared statements) PoC plpgsql – possibility to force custom or generic plan Consider allowing higher priority queries to have referenced shared buffer pages stay in memory longer Re: How to keep a table in memory. Php Improve line drawing characters http://archives. discussion Prevent long-lived temporary tables from causing frozen-xid advancement starvation The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can. Many people wish that pg_dump would do that. Have ALTER INDEX update the name of a constraint using that index Allow column display reordering by recording a display, storage, and permanent id for every column. CREATE INDEX CONCURRENTLY does not have this complication. PostgreSQL has an “UPSERT” command as of version 9. Php Prevent ALTER TABLE DROP NOT NULL on child tables if parent column has it Prevent concurrent CREATE TABLE from sometimes returning a cryptic error message BUG #3692: Conflicting create table statements throw unexpected error Add CREATE SCHEMA. Embedded server (not wanted) 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. Re: pl/python do not delete function arguments Add a DB-API compliant interface on top of the SPI interface http://petereisentraut. Re: BUG #4204: COPY to table with FK has memory leak Scaling up deferred unique checks and the after trigger queue http://archives. Re: Grouped Index Tuples http://community. Org logical column order and physical column order logical column ordering Allow deactivating (and reactivating) indexes via ALTER TABLE http://archives. SQL MERGE is independently useful, though. Com Send numeric version to clients in fixed header patch to send server_version_num in v3 protocol as GUC_REPORT Add decoded type length/precision (i. Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. This is related to the previous item. At the same time, it would greatly complicate backups and other administrative tasks. See Optimizer Hints Discussion for further information. Page Checksums + Double Writes Allow WAL information to recover corrupted pg_controldata Re: [HACKERS] pg_resetxlog -r flag Speed WAL recovery by allowing more than one page to be prefetched This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. Php Inheritance Allow inherited tables to inherit indexes, UNIQUE constraints, and primary/foreign keys Partitioning/inherited tables vs FKs http://archives. Equivalent praxis to CLUSTERED INDEX. Reltuples 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 FSM search modes Re: Feedback on getting rid of VACUUM FULL Consider a more compact data representation for dead tuple locations within VACUUM Re: Have vacuum emit a warning when it runs out of maintenance_work_mem Provide more information in order to improve user-side estimates of dead space bloat in relations Re: Bloated Table Reduce the number of table scans performed by vacuum http://archives. RENAME needs to consider effects of changing operator precedence Missing rename support CLUSTER Automatically maintain clustering on a table This might require some background daemon to maintain clustering during periods of low usage. Us Locking Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts FOR SHARE vs FOR UPDATE locks Re: FOR SHARE vs FOR UPDATE locks Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch Re: savepoints and upgrading locks Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned BUG #3883: Autovacuum deadlock with truncate. Currently, “wrapped” format chops values into fixed widths. DECLARE CURSOR Prevent DROP TABLE from dropping a table referenced by its own open cursor. This would remove the requirement for SYSV SHM but would introduce portability issues. One manifest problem is that dropping a PRIMARY KEY constraint does not remove the NOT NULL constraint designation. Php Startup Time Improvements Allow backends to change their database without restart This allows for faster server startup. 4) Teach GIN cost estimation about “fast scans” http://www. Allow BEFORE INSERT triggers on views Re: Why can’t I put a BEFORE EACH ROW trigger on a view. Preserve sparse storage of large objects over dump/restore TODO item: teach pg_dump about sparsely-stored large objects Prevent PL/pgSQL comment from throwing an error in a non-superuser restore Reloading dump fails at COMMENT ON EXTENSION plpgsql Delay REFRESH MATERIALIZED VIEW until dependent indexes are created pg_restore unusable for expensive matviews pg_upgrade Handle large object comments This is difficult to do because the large object doesn’t exist when –schema-only is loaded. Another issue is that we should probably force NOT NULL to be propagated from parent tables to children, just as CHECK constraints are. Php Improve autovacuum tuning http://www. 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. Now that it is not limited by MaxAllocSize, don’t limit by INT_MAX either. Com Consider sorting entries before inserting into btree index Re: ATTN: Clodaldo was Performance problem. Proposal for PL packages for 8. 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. Avoid using platform-dependent names for locales in pg_dumpall output Using native locale names puts roadblocks in the way of porting a dump to another platform. Php Avoid creation of the free space map for small tables http://archives. Priorities for users or queries. 1 protocol version will actually work smoothly Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable Allow multi-state authentication (e. Com Allow negotiation of encryption, STARTTLS style, rather than forcing client to decide on SSL or . Com Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics Re: Simple join optimized badly. For operators we need ‘=(integer, integer)’, instead of just ‘=’. One possible solution is to get CREATE DATABASE to accept some agreed-on set of locale names and fix them up to meet the platform’s requirements. A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function. Com Simplify dropping roles that have objects in several databases Add support for WITH RECURSIVE. Com Documentation [E] Add contrib functions to the index Add the functions and GUCs in the contrib modules to the documentation index: per list discussion Provide a manpage for postgresql. Note that compression is being removed from TLS 1. It might also require tables to be only partially filled for easier reorganization. Col%TYPE[] Allow listing of record column names, and access to record columns via variables, e. Us In a selective dump, allow dumping of an object and all its dependencies Stop dumping CASCADE on DROP TYPE commands in clean mode Allow pg_restore to load different parts of the COPY data for a single table simultaneously Refactor handling of database attributes between pg_dump and pg_dumpall Currently only pg_dumpall emits database attributes, such as ALTER DATABASE SET commands and database-level GRANTs. Improve ability to modify views via ALTER TABLE Re: idea: storing view source in system catalogs modifying views Re: patch: Add columns via CREATE OR REPLACE VIEW SQL Commands Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT How not to write this patch. Html For functions returning a setof record with a composite type, cache the I/O functions for the composite type http://archives. Re: Bitmap index AM Bitmap index thoughts Stream bitmaps Re: Bitmapscan changes – Requesting further feedback Updated bitmap index patch Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch) Bitmap Indexes: request for feedback bitmap indexes – performance [PATCH] bitmap indexes . PRECEDING/FOLLOWING EXCLUDE Investigate tuplestore performance issues The tuplestore_in_memory() thing is just a band-aid, we ought to try to solve it properly. Typmod information) Mark result columns as known-not-null when possible Adding nullable indicator to Describe Use compression Specify and implement wire protocol compression. Php Support for REINDEX CONCURRENTLY Wiki page listing current situation on the matter REINDEX CONCURRENTLY 2. Php Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values http://www. Php Allow configuration of backend priorities via the operating system Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem. C Migrate pg_statistic by dumping it out as a flat file, so analyze is not necessary pg_upgrade and statistics Find cleaner way to start/stop dedicated servers for upgrades http://archives. Php Restructure /contrib section http://archives. In check for link failure when the cause is found Allow psql to use readline once non-US code pages work with backslashes Improve signal handling Simplify Win32 Signaling code Support PGXS when using MSVC Fix MSVC NLS support, like for to_char() NLS on MSVC strikes back. 4 Consider detoasting keys before sorting Allow sorts of skinny tuples to use even more available memory. Php Improve pg_rewind Proposal: pg_rewind to skip config files psql Have psql ds show all sequences and their settings Re: TODO item: Have psql show current values for a sequence Quick patch: Display sequence owner Move psql backslash database information into the backend, use mnemonic commands. Is it worth the effort to create an API that would let them be written in PL/pgsql, etc.
Window Functions See TODO items for window functions. Php Allow unique indexes across inherited tables (requires multi-table indexes) Research whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY) 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. Com Permit lazy fetches of large values, at least out-of-line TOASTED values http://www. Write Ahead Logging for Hash Indexes Sorting Consider whether duplicate keys should be sorted by block/offset Remove hacks for old bad qsort() implementations. Restructure TOAST internal storage format for greater flexibility Re: PG_PAGE_LAYOUT_VERSION 5 – time for change Research different memory allocation methods for lists http://archives. Php Update clients to use data types, typmod, schema. Check if a table exists fix handling of DB attributes that are arrays Fix nested C comments [E] sqlwarn[6] should be ‘W’ if the PRECISION or SCALE value specified Make SET CONNECTION thread-aware, non-standard. Patch Allow CLUSTER to be used on partial indexes http://www. INTO and WITH queries http://archives. Net Fix cross-compiling on Windows http://archives. Prevent the specification of conflicting transaction read/write options Re: SET TRANSACTION and SQL Standard Allow DELETE and UPDATE to be used with LIMIT and ORDER BY http://archives. Php When full page writes are off, write CRC to WAL and check file system blocks on recovery If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. Com Allow unlogged indexes http://www. Php Consider improving the continuation prompt http://archives. Write full pages during file system write and not when the page is modified in the buffer cache This allows most full page writes to happen in the background writer. Add a semantic check level, e. NULL and plpgsql rows Consider keeping separate cached copies when search_path changes pl/pgsql Plan Invalidation and search_path Improve handling of NULL row values vs. Re: Index Scans become Seq Scans after VACUUM ANALYSE http://archives. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. Org/6/320/ Allow re-authentication Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake. SSL before connecting http://www. Could it be related to 8. Org/message-id/[email protected] Implement DISTINCT clause in window aggregates Some proprietary RDBMSs have implemented it already, so it helps with porting from those. Re: When/if to Reindex http://archives. Thousands of schemas and ANALYZE goes out of memory EXPLAIN Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and actual row counts differ by a specified percentage Have EXPLAIN ANALYZE report rows as floating-point numbers explain analyze rows=%. All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC. Php Desired changes that would prevent upgrades with pg_upgrade 32-bit page checksums Add metapage to GiST indexes Clean up hstore’s internal representation Remove tuple infomask bit HEAP_MOVED_OFF and HEAP_MOVED_IN fix char() index trailing space handling Use non-collation-aware comparisons for GIN opclasses ecpg Docs Document differences between ecpg and the SQL standard and information about the Informix-compatibility module. Php Allow a stalled COPY to exit if the backend is terminated Re: possible bug not in open items Allow COPY “text” format to output a header Why doesn’t COPY support the HEADER options for tab-separated output. Referential Integrity Add MATCH PARTIAL referential integrity Change foreign key constraint for array -> element to mean element in array. Php Clients Split out pg_resetxlog output into pre- and post-sections http://archives. This is not viewed as a desirable feature. Com Add diagrams to the documentation http://archives. Allow the creation of “distinct” types Distinct types Consider analyzing temporary tables when they are first used in a query Autovacuum cannot analyze or vacuum temporary tables. TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers Identifier case folding notes Identifier case folding notes Cluster wide option to control symbol case folding Add autonomous transactions autonomous transactions Give query progress indication Query progress indication Rethink our type system Rethinking datatypes Features We Do Not Want 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. Php Allow triggers to be disabled in only the current session. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc. NULL rows Null row vs. Re: Effects of cascading references in foreign keys Check Constraints Run check constraints only when affected columns are changed http://archives. This would allow index compaction without downtime. Php Make the planner’s “special index operator” mechanism extensible http://www. Allow dropping of a role that has connection rights DROP ROLE dependency tracking. 7 SHOW/SET Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM ANALYZE, and CLUSTER Rationalize the discrepancy between settings that use values in bytes and SHOW that returns the object count Re: [ADMIN] shared_buffers and shmmax ANALYZE Improve how ANALYZE computes in-doubt tuples VACUUM/ANALYZE counting of in-doubt tuples Remove quadratic time in statistics sender when analyzing many tables Thousands of schemas and ANALYZE goes out of memory Reduce memory use when analyzing many tables in a single command by making catcache and syscache flushable or bounded. We would rather have such problems reported and fixed. ) list Planning large IN lists Allow single batch hash joins to preserve outer pathkeys Re: Potential Join Performance Issue a few crazy ideas about hash joins Use “lazy” hash tables to look up only the tuples that are actually requested a few crazy ideas about hash joins Avoid building the same hash table more than once during the same query a few crazy ideas about hash joins Avoid hashing for distinct and then re-hashing for hash join Re: Fixing Grittner’s planner issues a few crazy ideas about hash joins Background Writer Consider having the background writer update the transaction status hint bits before writing out the page Implementing this requires the background writer to have access to system catalogs and the transaction status log. Org Improve setting of visibility map bits for read-only and insert-only workloads http://www. This will require new backend syntax, perhaps COMMENT ON CURRENT DATABASE. Php Avoid reading in b-tree pages when replaying vacuum records in hot standby mode Hot Standby tuning for btree_xlog_vacuum() Restructure truncation logic to be more resistant to failure This also involves not writing dirty buffers for a truncated or dropped relation http://archives. CYCLE WITH RECURSIVE. Re: psql possible TODO Include the symbolic SQLSTATE name in verbose error reports Re: Checking is TSearch2 query is valid Add option to wrap column values at whitespace boundaries, rather than chopping them at a fixed width. We could also consider mmap() for writing WAL. Php Write-Ahead Log Eliminate need to write full pages to WAL before page modification 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. Support creation of user-defined window functions We have the ability to create new window functions written in C. Re: AutoVacuum Behaviour Question Prevent autovacuum from running if an old transaction is still running from the last vacuum Re: Autovacuum and OldestXmin Have autoanalyze of parent tables occur when child tables are modified http://archives. Re: psql d option list overloaded Make psql’s d commands distinguish default privileges from no privileges ACL displays were visibly different for the two cases before we “improved” them by using array_to_string. Obfuscated function source code (not wanted) Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. Consider being smarter about memory and external files used during sorts Sorting Improvements for 8. 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. (colname) Re: PL/PGSQL: Dynamic Record Introspection colnames: Extension to retrieve column names from a record Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables Because a row is not scalar, do not allow assignment from NULL-valued scalars. Thoughts about bug #3883 Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent Detect deadlocks involving LockBufferForCleanup() Thoughts about bug #3883 Allow finer control over who is cancelled in a deadlock http://archives. Obfuscated stored procedures (was Re: Oracle and Postgresql) Indeterminate behavior for the GROUP BY clause (not wanted) 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. Php Avoid multiple-evaluation of BETWEEN and IN arguments containing volatile expressions http://archives. Php Vacuum Gin indexes in physically order rather than logical order http://archives. Add SQL-standard MERGE command MERGE is typically used to merge two tables, for data warehousing type use cases. 3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back. Php Allow shared buffer cache contents to affect index cost computations http://archives. 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 Statement-level triggers and inheritance Tighten trigger permission checks Security leak with trigger functions. AS OWNER so permission checks are done as the table owner This would be useful for SERIAL nextval() calls and CHECK constraints. (But then does dropping PRIMARY KEY affect children. ) Fix global namespace issues when using multiple terminal server sessions problems with Windows global namespace Change from the current autoconf/gmake build system to cmake About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major) Improve consistency of path separator usage http://archives. Php Exotic Features Add pre-parsing phase that converts non-ISO syntax to supported syntax This could allow SQL written for other databases to run without modification. Php Allow PREPARE of cursors Have DISCARD PLANS discard plans cached by functions DISCARD ALL should do the same. Php Windows Remove configure. Com COPY Allow COPY to report error lines and continue This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. Php Improve speed of tab completion by using LIKE http://www. Net pg_dump / pg_restore [E] Dump security labels and comments on databases in a way that allows to load a dump into a differently named database security labels on databases are bad for dump & restore [E] Add full object name to the tag field. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead.

SSL before connecting http://www. Thoughts about bug #3883 Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent Detect deadlocks involving LockBufferForCleanup() Thoughts about bug #3883 Allow finer control over who is cancelled in a deadlock http://archives. Com Source Code Allow cross-compiling by generating the zic database on the target system Improve NLS maintenance of libpgport messages linked onto applications Use UTF8 encoding for NLS messages so all server encodings can read them properly Allow creation of universal binaries for Darwin Getting to universal binaries for Darwin Consider GnuTLS if OpenSSL license becomes a problem http://archives. Re: SQL compatibility reminder: MySQL vs PostgreSQL On-disk bitmap indexes (not wanted) The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL. Typmod information) Mark result columns as known-not-null when possible Adding nullable indicator to Describe Use compression Specify and implement wire protocol compression. These pages can also be eliminated from point-in-time archive files. Com Changes to make cancellations more reliable and more secure http://www. 1 protocol version will actually work smoothly Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable Allow multi-state authentication (e. Net Fix cross-compiling on Windows http://archives. Com Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server http://www. 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. ” after interterminate result due to crash or connection loss Report xlog position in commit message Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet http://www. De Rather than consider mmap()-ing in 8k pages, consider mmap()’ing entire files into a backend. discussion Prevent long-lived temporary tables from causing frozen-xid advancement starvation The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can. Allow concurrent inserts to use recently created pages rather than creating new ones http://archives. Jp Create a more efficient way to handle out-of-line parameters Re: Slowness of extended protocol Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message) https://www. All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup. 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. Org Improve handling of pg_stat_statements handling of bind “IN” variables Revisiting pg_stat_statements and IN() Miscellaneous Performance Use mmap() rather than shared memory for shared buffers. Php Avoid creation of the free space map for small tables http://archives. Priorities for users or queries. Obfuscated stored procedures (was Re: Oracle and Postgresql) Indeterminate behavior for the GROUP BY clause (not wanted) 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. Proposal for PL packages for 8. This would remove the requirement for SYSV SHM but would introduce portability issues. Php Log statements where the optimizer row estimates were dramatically different from the number of rows actually found. Com Send numeric version to clients in fixed header patch to send server_version_num in v3 protocol as GUC_REPORT Add decoded type length/precision (i. Page Checksums + Double Writes Allow WAL information to recover corrupted pg_controldata Re: [HACKERS] pg_resetxlog -r flag Speed WAL recovery by allowing more than one page to be prefetched This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. Proposal: schema PL session variables proposal: session server side variables Packages: Again Consider allowing control of upper/lower case folding of unquoted identifiers Bringing PostgreSQL torwards the standard regarding case folding Re: [SQL] Case Preservation disregarding case sensitivity. Us Locking Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts FOR SHARE vs FOR UPDATE locks Re: FOR SHARE vs FOR UPDATE locks Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch Re: savepoints and upgrading locks Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned BUG #3883: Autovacuum deadlock with truncate. Conf Change the manpage-generating toolchain to use the new XML-based docbook2x tools A smaller default postgresql. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. Problems with the patch submitted for posix_fadvise in index scans SMP scalability improvements Straightforward changes for increased SMP scalability Re: Reducing Transaction Start/End Contention TOAST Allow user configuration of TOAST thresholds Re: Proposed adjustments in MaxTupleSize and toastthresholds pg_lzcompress strategy parameters Reduce unnecessary cases of deTOASTing Re: [PATCHES] Eliminate more detoast copies for packed varlenas Reduce costs of repeat de-TOASTing of values WIP patch: reducing overhead for repeat de-TOASTing Monitoring Have pg_stat_activity display query strings in the correct client encoding pg_stats queries versus per-database encodings Add entry creation timestamp column to pg_stat_replication http://archives. Php Exotic Features Add pre-parsing phase that converts non-ISO syntax to supported syntax This could allow SQL written for other databases to run without modification. 0 realistic for SCSI RAID 1 There’s random access and then there’s random access Bitmap index scan preread using posix_fadvise (Was: There’s random access and then there’s random access) The above patch is already applied as of 8. Com Add session-level whitelisting of types for binary-mode transfer http://www. It is also possible to implement these capabilities in any schema and not use a separate “packages” syntax at all. 4, but it still remains to figure out how to handle plain indexscans effectively. Php Restructure /contrib section http://archives. Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Reltuples 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 FSM search modes Re: Feedback on getting rid of VACUUM FULL Consider a more compact data representation for dead tuple locations within VACUUM Re: Have vacuum emit a warning when it runs out of maintenance_work_mem Provide more information in order to improve user-side estimates of dead space bloat in relations Re: Bloated Table Reduce the number of table scans performed by vacuum http://archives. Com Allow negotiation of encryption, STARTTLS style, rather than forcing client to decide on SSL or . Conf A smaller default postgresql. Re: Bitmap index AM Bitmap index thoughts Stream bitmaps Re: Bitmapscan changes – Requesting further feedback Updated bitmap index patch Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch) Bitmap Indexes: request for feedback bitmap indexes – performance [PATCH] bitmap indexes . Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. Asynchronous I/O Support Re: random_page_costs – are defaults of 4. See Optimizer Hints Discussion for further information. Php Write-Ahead Log Eliminate need to write full pages to WAL before page modification 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. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years. Php Avoid reading in b-tree pages when replaying vacuum records in hot standby mode Hot Standby tuning for btree_xlog_vacuum() Restructure truncation logic to be more resistant to failure This also involves not writing dirty buffers for a truncated or dropped relation http://archives. Com Allow pg_export_snapshot() to run on hot standby servers This will allow parallel pg_dump on such servers. Column names of result sets using new statement protocol Set protocol for wire format negotiation GUC_REPORT for protocol tunables Make sure upgrading to a 4. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC. Php Allow configuration of backend priorities via the operating system Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem. Com Clarify semantics of statement_timeout in extended query protocol Batched and pipelined queries have unexpected behaviour with statement_timeout. Pg_export_snapshot on standby side Provide a way to enumerate and unregister background workers Right now the only way to unregister bgworkers is from within the worker with proc_exit(0) or registering with BGW_NEVER_RESTART https://www. Conf Consider changing documentation format from SGML to XML Re: Authoring Tools WAS: Switching to XML http://archives. Note that compression is being removed from TLS 1. Besides, there are several very mature embedded SQL databases already available. 3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back. Consider compressed annealing to search for query plans This might replace GEQO. In check for link failure when the cause is found Allow psql to use readline once non-US code pages work with backslashes Improve signal handling Simplify Win32 Signaling code Support PGXS when using MSVC Fix MSVC NLS support, like for to_char() NLS on MSVC strikes back. Org/6/320/ Allow re-authentication Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake. Built-in sharding wiki Miscellaneous Other Deal with encoding issues for filenames in the server filesystem a proposed patch here some issues about it here Windows-specific patch here Deal with encoding issues in the output of localeconv() bug report draft patch review of patch Have GB18030 handle more than 2-byte Unicode code points GB18030 encoding doesn’t support Unicode characters over 0xFFFF Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports How to get schema name which violates fk constraint patch – Report the schema along table name in a referential failure error message Re: NOT NULL violation and error-message the case for machine-readable error fields Use sa_mask to close race conditions between signal handlers http://www. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc. Php Reduce file statistics overhead on directory reads http://www. Php Improve autovacuum tuning http://www. Com Fix hang with long file paths Long paths for tablespace leads to uninterruptible hang in Windows Wire Protocol Changes / v4 Protocol
Allow dynamic character set handling Ensure the client can determine the encoding of messages sent early in the handshake http://www. Php WIP double writes double writes Double-write with Fast Checksums double writes using “double-write buffer” approach http://archives. Us Send client the xid when it is allocated Lets the client later ask the server “did this commit or not. Php Allow shared buffer cache contents to affect index cost computations http://archives. Php Update clients to use data types, typmod, schema. Php Allow reporting of stalls due to wal_buffer wrap-around http://archives. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. Php Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values http://www. 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. We would rather have such problems reported and fixed. This is not viewed as a desirable feature. Php Auto-vacuum Issue log message to suggest VACUUM FULL if a table is nearly empty. Php Windows Remove configure. 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. At the same time, it would greatly complicate backups and other administrative tasks. TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers Identifier case folding notes Identifier case folding notes Cluster wide option to control symbol case folding Add autonomous transactions autonomous transactions Give query progress indication Query progress indication Rethink our type system Rethinking datatypes Features We Do Not Want 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. Id=75 Re: visibility maps and heap_prune Allow VACUUM FULL and CLUSTER to update the visibility map index-only scans : abnormal heap fetches after VACUUM FULL Improve tracking of total relation tuple counts now that vacuum doesn’t always scan the whole heap Partial vacuum versus pg_class. Php Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running http://archives. Com Add diagrams to the documentation http://archives. Geqo_threshold Improve ability to display optimizer analysis using OPTIMIZER_DEBUG http://archives. 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. Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call pgsql: Avoid incrementing the CommandCounter when Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation Re: TB-sized databases Consider not storing a NULL bitmap on disk if all the NULLs are trailing Proposal for Null Bitmap Optimization(for Trailing NULLs) Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs) Sort large UPDATE/DELETEs so it is done in heap order Possible future performance improvement: sort updates/deletes by ctid Add auto-tuning of work_mem Auto-tuning work_mem and maintenance_work_mem Consider decreasing the I/O caused by updating tuple hint bits Hint Bits and Write I/O Re: [HACKERS] Hint Bits and Write I/O http://archives. Php [PATCH] Add support for GnuTLS TODO: GNU TLS Consider making NAMEDATALEN more configurable Research use of signals and sleep wake ups Restartable signals ‘n all that Allow C++ code to more easily access backend code Mostly Harmless: Welcoming our C++ friends C++ port of Postgres Consider simplifying how memory context resets handle child contexts Re: Memory leak in nodeAgg Improve detection of shared memory segments being used by others by checking the SysV shared memory field ‘nattch’ postgresql in FreeBSD jails: proposal Re: postgresql in FreeBSD jails: proposal Implement the non-threaded Avahi service discovery protocol Re: [PATCHES] Avahi support for Postgresql Re: Avahi support for Postgresql Re: [PATCHES] Avahi support for Postgresql Re: [HACKERS] Avahi support for Postgresql Reduce data row alignment requirements on some 64-bit systems [WIP] Reduce alignment requirements on 64-bit systems. Obfuscated function source code (not wanted) Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. Restructure TOAST internal storage format for greater flexibility Re: PG_PAGE_LAYOUT_VERSION 5 – time for change Research different memory allocation methods for lists http://archives. Ru Hashing Consider using a hash for joining to a large IN (VALUES. Embedded server (not wanted) 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. 1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY. Php 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 Ideally these enhancements and new facilities will be available to external sharding solutions as well. Php Startup Time Improvements Allow backends to change their database without restart This allows for faster server startup. Php Allow the CTE (Common Table Expression) optimization fence to be optionally disabled http://archives. Conf A smaller default postgresql. Client needs to be able to specify statement boundary with protocol message. 3 so we really need to do it ourselves. Php Vacuum Gin indexes in physically order rather than logical order http://archives. Com Permit lazy fetches of large values, at least out-of-line TOASTED values http://www. Identify the affected object in CommandComplete message. Allow plug-in modules to emulate features from other databases Add features of Oracle-style packages A package would be a schema with session-local variables, public/private functions, and initialization functions. Php Consider removing the attribute options cache http://archives. Us Improve use of expression indexes for ORDER BY Resjunk sort columns, Heikki’s index-only quals patch, and bug #5000 Modify the planner to better estimate caching effects http://archives. We could also consider mmap() for writing WAL. Slow PITR restore Re: [GENERAL] Slow PITR restore Read-ahead and parallelism in redo recovery Improve WAL concurrency by increasing lock granularity Reworking WAL locking Have resource managers report the duration of their status changes Recovery of Multi-stage WAL actions Close deleted WAL files held open in *nix by long-lived read-only backends Deleted WAL files held open by backends in Linux Re: Deleted WAL files held open by backends in Linux Optimizer / Executor Improve selectivity functions for geometric operators Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold from_collapse_limit vs. 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. Org Improve setting of visibility map bits for read-only and insert-only workloads http://www. Php When full page writes are off, write CRC to WAL and check file system blocks on recovery If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. ) Fix global namespace issues when using multiple terminal server sessions problems with Windows global namespace Change from the current autoconf/gmake build system to cmake About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major) Improve consistency of path separator usage http://archives. Re: Index Scans become Seq Scans after VACUUM ANALYSE http://archives. ) list Planning large IN lists Allow single batch hash joins to preserve outer pathkeys Re: Potential Join Performance Issue a few crazy ideas about hash joins Use “lazy” hash tables to look up only the tuples that are actually requested a few crazy ideas about hash joins Avoid building the same hash table more than once during the same query a few crazy ideas about hash joins Avoid hashing for distinct and then re-hashing for hash join Re: Fixing Grittner’s planner issues a few crazy ideas about hash joins Background Writer Consider having the background writer update the transaction status hint bits before writing out the page Implementing this requires the background writer to have access to system catalogs and the transaction status log. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Re: AutoVacuum Behaviour Question Prevent autovacuum from running if an old transaction is still running from the last vacuum Re: Autovacuum and OldestXmin Have autoanalyze of parent tables occur when child tables are modified http://archives. Php Consider having single-page pruning update the visibility map https://commitfest. Com Documentation [E] Add contrib functions to the index Add the functions and GUCs in the contrib modules to the documentation index: per list discussion Provide a manpage for postgresql. Try client peer, fall back to md5) http://www. Re: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables Consider adding buffers the background writer finds reusable to the free list Background LRU Writer/free list our buffer replacement strategy is kind of lame Page replacement algorithm in buffer cache Move unused buffers to freelist Automatically tune bgwriter_delay based on activity rather then using a fixed interval Background LRU Writer/free list our buffer replacement strategy is kind of lame Consider whether increasing BM_MAX_USAGE_COUNT improves performance Bgwriter LRU cleaning: we’ve been going at this all wrong Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency Re: Load Distributed Checkpoints, final patch Concurrent Use of Resources Do async I/O for faster random read-ahead of data Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously. One process per session lack of sharing “Oracle-style” optimizer hints (not wanted) Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. Org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML Document support for N’ ‘ national character string literals, if it matches the SQL standard http://archives. Write full pages during file system write and not when the page is modified in the buffer cache This allows most full page writes to happen in the background writer.

Consider using “effective_io_concurrency” for index scans Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans. 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. Re: Bitmap index AM Bitmap index thoughts Stream bitmaps Re: Bitmapscan changes – Requesting further feedback Updated bitmap index patch Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch) Bitmap Indexes: request for feedback bitmap indexes – performance [PATCH] bitmap indexes . We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. Column names of result sets using new statement protocol Set protocol for wire format negotiation GUC_REPORT for protocol tunables Make sure upgrading to a 4. Php Restructure /contrib section http://archives. Id=75 Re: visibility maps and heap_prune Allow VACUUM FULL and CLUSTER to update the visibility map index-only scans : abnormal heap fetches after VACUUM FULL Improve tracking of total relation tuple counts now that vacuum doesn’t always scan the whole heap Partial vacuum versus pg_class. Besides, there are several very mature embedded SQL databases already available. Com Allow negotiation of encryption, STARTTLS style, rather than forcing client to decide on SSL or . SSL before connecting http://www. Re: Index Scans become Seq Scans after VACUUM ANALYSE http://archives. Conf Consider changing documentation format from SGML to XML Re: Authoring Tools WAS: Switching to XML http://archives. 3 so we really need to do it ourselves. Php Auto-vacuum Issue log message to suggest VACUUM FULL if a table is nearly empty. Com Clarify semantics of statement_timeout in extended query protocol Batched and pipelined queries have unexpected behaviour with statement_timeout. Reltuples 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 FSM search modes Re: Feedback on getting rid of VACUUM FULL Consider a more compact data representation for dead tuple locations within VACUUM Re: Have vacuum emit a warning when it runs out of maintenance_work_mem Provide more information in order to improve user-side estimates of dead space bloat in relations Re: Bloated Table Reduce the number of table scans performed by vacuum http://archives. It is also possible to implement these capabilities in any schema and not use a separate “packages” syntax at all. Identify the affected object in CommandComplete message. Us Send client the xid when it is allocated Lets the client later ask the server “did this commit or not. Php Startup Time Improvements Allow backends to change their database without restart This allows for faster server startup. Php Write-Ahead Log Eliminate need to write full pages to WAL before page modification 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. Php Windows Remove configure. 4 Consider detoasting keys before sorting Allow sorts of skinny tuples to use even more available memory. Pg_export_snapshot on standby side Provide a way to enumerate and unregister background workers Right now the only way to unregister bgworkers is from within the worker with proc_exit(0) or registering with BGW_NEVER_RESTART https://www. See Optimizer Hints Discussion for further information. Fix memory leak caused by negative catcache entries Re: Memory leak in PL/pgSQL function which CREATE/SELECT/DROP a temporary table Vacuum Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer Dead Space Map Re: Automatic free space map filling Allow concurrent inserts to use recently created pages rather than creating new ones http://archives. Re: When/if to Reindex http://archives. Us Allow index-only COUNT(*) for indexes which don’t support index-only scans Improve GIN performance Small GIN optimizations (after 9. Conf A smaller default postgresql. 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. We would rather have such problems reported and fixed. Com Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics Re: Simple join optimized badly. Asynchronous I/O Support Re: random_page_costs – are defaults of 4. Stats for multi-column indexes Cross-column statistics revisited Multi-Dimensional Histograms http://archives. Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Php 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 Ideally these enhancements and new facilities will be available to external sharding solutions as well. Php Allow the CTE (Common Table Expression) optimization fence to be optionally disabled http://archives. Allow unique indexes across inherited tables (requires multi-table indexes) Research whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY) ALTER TABLE variants sometimes support recursion and sometimes not, but this is poorly/not documented, and the ONLY marker would then be silently ignored. Com Permit lazy fetches of large values, at least out-of-line TOASTED values http://www. Write Ahead Logging for Hash Indexes Sorting Consider whether duplicate keys should be sorted by block/offset Remove hacks for old bad qsort() implementations. All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup. Com Send numeric version to clients in fixed header patch to send server_version_num in v3 protocol as GUC_REPORT Add decoded type length/precision (i. Us Locking Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts FOR SHARE vs FOR UPDATE locks Re: FOR SHARE vs FOR UPDATE locks Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch Re: savepoints and upgrading locks Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned BUG #3883: Autovacuum deadlock with truncate. Php Log statements where the optimizer row estimates were dramatically different from the number of rows actually found. Now that it is not limited by MaxAllocSize, don’t limit by INT_MAX either. Typmod information) Mark result columns as known-not-null when possible Adding nullable indicator to Describe Use compression Specify and implement wire protocol compression. Re: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables Consider adding buffers the background writer finds reusable to the free list Background LRU Writer/free list our buffer replacement strategy is kind of lame Page replacement algorithm in buffer cache Move unused buffers to freelist Automatically tune bgwriter_delay based on activity rather then using a fixed interval Background LRU Writer/free list our buffer replacement strategy is kind of lame Consider whether increasing BM_MAX_USAGE_COUNT improves performance Bgwriter LRU cleaning: we’ve been going at this all wrong Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency Re: Load Distributed Checkpoints, final patch Concurrent Use of Resources Do async I/O for faster random read-ahead of data Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously. Geqo_threshold Improve ability to display optimizer analysis using OPTIMIZER_DEBUG http://archives. Try client peer, fall back to md5) http://www. Cluster could definitely benefit from this. Php Allow shared buffer cache contents to affect index cost computations http://archives. Php Exotic Features Add pre-parsing phase that converts non-ISO syntax to supported syntax This could allow SQL written for other databases to run without modification. Consider compressed annealing to search for query plans This might replace GEQO. De Rather than consider mmap()-ing in 8k pages, consider mmap()’ing entire files into a backend. 3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back. Ru Hashing Consider using a hash for joining to a large IN (VALUES. TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers Identifier case folding notes Identifier case folding notes Cluster wide option to control symbol case folding Add autonomous transactions autonomous transactions Give query progress indication Query progress indication Rethink our type system Rethinking datatypes Features We Do Not Want 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. ) list Planning large IN lists Allow single batch hash joins to preserve outer pathkeys Re: Potential Join Performance Issue a few crazy ideas about hash joins Use “lazy” hash tables to look up only the tuples that are actually requested a few crazy ideas about hash joins Avoid building the same hash table more than once during the same query a few crazy ideas about hash joins Avoid hashing for distinct and then re-hashing for hash join Re: Fixing Grittner’s planner issues a few crazy ideas about hash joins Background Writer Consider having the background writer update the transaction status hint bits before writing out the page Implementing this requires the background writer to have access to system catalogs and the transaction status log. Php Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values http://www. Php Allow “loose” or “skip” scans on btree indexes in which the first column has low cardinality http://archives. Us GIST Add more GIST index support for geometric data types Allow GIST indexes to create more complex index types, like digital trees (see Aoki) Fix performance issues in contrib/seg and contrib/cube GiST support GiST index performance draft patch Re: GiST index performance GiST index performance GiST index support for arrays Hash Add UNIQUE capability to hash indexes Re: PG10 Crash-safe and replicable Hash Indexes and UNIQUE Allow multi-column hash indexes This requires all columns to be specified for a query to use the index. Com Changes to make cancellations more reliable and more secure http://www. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL. 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. Slow PITR restore Re: [GENERAL] Slow PITR restore Read-ahead and parallelism in redo recovery Improve WAL concurrency by increasing lock granularity Reworking WAL locking Have resource managers report the duration of their status changes Recovery of Multi-stage WAL actions Close deleted WAL files held open in *nix by long-lived read-only backends Deleted WAL files held open by backends in Linux Re: Deleted WAL files held open by backends in Linux Optimizer / Executor Improve selectivity functions for geometric operators Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold from_collapse_limit vs. 4) Teach GIN cost estimation about “fast scans” http://www. Thoughts about bug #3883 Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent Detect deadlocks involving LockBufferForCleanup() Thoughts about bug #3883 Allow finer control over who is cancelled in a deadlock http://archives. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Org Improve setting of visibility map bits for read-only and insert-only workloads http://www. Php Vacuum Gin indexes in physically order rather than logical order http://archives. Write full pages during file system write and not when the page is modified in the buffer cache This allows most full page writes to happen in the background writer. Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call pgsql: Avoid incrementing the CommandCounter when Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation Re: TB-sized databases Consider not storing a NULL bitmap on disk if all the NULLs are trailing Proposal for Null Bitmap Optimization(for Trailing NULLs) Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs) Sort large UPDATE/DELETEs so it is done in heap order Possible future performance improvement: sort updates/deletes by ctid Add auto-tuning of work_mem Auto-tuning work_mem and maintenance_work_mem Consider decreasing the I/O caused by updating tuple hint bits Hint Bits and Write I/O Re: [HACKERS] Hint Bits and Write I/O http://archives. Note that compression is being removed from TLS 1. Obfuscated stored procedures (was Re: Oracle and Postgresql) Indeterminate behavior for the GROUP BY clause (not wanted) 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. Jp Create a more efficient way to handle out-of-line parameters Re: Slowness of extended protocol Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message) https://www. Php Support for REINDEX CONCURRENTLY Wiki page listing current situation on the matter REINDEX CONCURRENTLY 2. Clarify the documentation, and reject ONLY if it is not supported. 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. Problems with the patch submitted for posix_fadvise in index scans SMP scalability improvements Straightforward changes for increased SMP scalability Re: Reducing Transaction Start/End Contention TOAST Allow user configuration of TOAST thresholds Re: Proposed adjustments in MaxTupleSize and toastthresholds pg_lzcompress strategy parameters Reduce unnecessary cases of deTOASTing Re: [PATCHES] Eliminate more detoast copies for packed varlenas Reduce costs of repeat de-TOASTing of values WIP patch: reducing overhead for repeat de-TOASTing Monitoring Have pg_stat_activity display query strings in the correct client encoding pg_stats queries versus per-database encodings Add entry creation timestamp column to pg_stat_replication http://archives. Php Consider having a larger statistics target for indexed columns and expression indexes. Re: SQL compatibility reminder: MySQL vs PostgreSQL On-disk bitmap indexes (not wanted) The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable. 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. ” after interterminate result due to crash or connection loss Report xlog position in commit message Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet http://www. At the same time, it would greatly complicate backups and other administrative tasks. We could also consider mmap() for writing WAL. This would remove the requirement for SYSV SHM but would introduce portability issues. Allow plug-in modules to emulate features from other databases Add features of Oracle-style packages A package would be a schema with session-local variables, public/private functions, and initialization functions. 0 realistic for SCSI RAID 1 There’s random access and then there’s random access Bitmap index scan preread using posix_fadvise (Was: There’s random access and then there’s random access) The above patch is already applied as of 8. Php Make the planner’s “special index operator” mechanism extensible http://www. Could it be related to 8. Php Allow reporting of stalls due to wal_buffer wrap-around http://archives. Page Checksums + Double Writes Allow WAL information to recover corrupted pg_controldata Re: [HACKERS] pg_resetxlog -r flag Speed WAL recovery by allowing more than one page to be prefetched This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. Us Improve use of expression indexes for ORDER BY Resjunk sort columns, Heikki’s index-only quals patch, and bug #5000 Modify the planner to better estimate caching effects http://archives. Net Fix cross-compiling on Windows http://archives. Com Fix hang with long file paths Long paths for tablespace leads to uninterruptible hang in Windows Wire Protocol Changes / v4 Protocol
Allow dynamic character set handling Ensure the client can determine the encoding of messages sent early in the handshake http://www. ) Fix global namespace issues when using multiple terminal server sessions problems with Windows global namespace Change from the current autoconf/gmake build system to cmake About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major) Improve consistency of path separator usage http://archives. Consider being smarter about memory and external files used during sorts Sorting Improvements for 8. Php Update clients to use data types, typmod, schema. However, HOT already short-circuits this in common cases, so more work might not be helpful. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years. Php Reduce file statistics overhead on directory reads http://www. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc. Php [PATCH] Add support for GnuTLS TODO: GNU TLS Consider making NAMEDATALEN more configurable Research use of signals and sleep wake ups Restartable signals ‘n all that Allow C++ code to more easily access backend code Mostly Harmless: Welcoming our C++ friends C++ port of Postgres Consider simplifying how memory context resets handle child contexts Re: Memory leak in nodeAgg Improve detection of shared memory segments being used by others by checking the SysV shared memory field ‘nattch’ postgresql in FreeBSD jails: proposal Re: postgresql in FreeBSD jails: proposal Implement the non-threaded Avahi service discovery protocol Re: [PATCHES] Avahi support for Postgresql Re: Avahi support for Postgresql Re: [PATCHES] Avahi support for Postgresql Re: [HACKERS] Avahi support for Postgresql Reduce data row alignment requirements on some 64-bit systems [WIP] Reduce alignment requirements on 64-bit systems. Com Consider sorting entries before inserting into btree index Re: ATTN: Clodaldo was Performance problem. One process per session lack of sharing “Oracle-style” optimizer hints (not wanted) Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. Priorities for users or queries. Com Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server http://www. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC. Obfuscated function source code (not wanted) Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. Built-in sharding wiki Miscellaneous Other Deal with encoding issues for filenames in the server filesystem a proposed patch here some issues about it here Windows-specific patch here Deal with encoding issues in the output of localeconv() bug report draft patch review of patch Have GB18030 handle more than 2-byte Unicode code points GB18030 encoding doesn’t support Unicode characters over 0xFFFF Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports How to get schema name which violates fk constraint patch – Report the schema along table name in a referential failure error message Re: NOT NULL violation and error-message the case for machine-readable error fields Use sa_mask to close race conditions between signal handlers http://www. Com Allow unlogged indexes http://www. Re: AutoVacuum Behaviour Question Prevent autovacuum from running if an old transaction is still running from the last vacuum Re: Autovacuum and OldestXmin Have autoanalyze of parent tables occur when child tables are modified http://archives. discussion Prevent long-lived temporary tables from causing frozen-xid advancement starvation The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. Embedded server (not wanted) 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. Php Avoid reading in b-tree pages when replaying vacuum records in hot standby mode Hot Standby tuning for btree_xlog_vacuum() Restructure truncation logic to be more resistant to failure This also involves not writing dirty buffers for a truncated or dropped relation http://archives. Com Source Code Allow cross-compiling by generating the zic database on the target system Improve NLS maintenance of libpgport messages linked onto applications Use UTF8 encoding for NLS messages so all server encodings can read them properly Allow creation of universal binaries for Darwin Getting to universal binaries for Darwin Consider GnuTLS if OpenSSL license becomes a problem http://archives. 4, but it still remains to figure out how to handle plain indexscans effectively. Org Improve handling of pg_stat_statements handling of bind “IN” variables Revisiting pg_stat_statements and IN() Miscellaneous Performance Use mmap() rather than shared memory for shared buffers. Client needs to be able to specify statement boundary with protocol message. Com Add diagrams to the documentation http://archives. Org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML Document support for N’ ‘ national character string literals, if it matches the SQL standard http://archives. Org/6/320/ Allow re-authentication Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake. 1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY. Conf Change the manpage-generating toolchain to use the new XML-based docbook2x tools A smaller default postgresql. This would allow index compaction without downtime. Php Improve autovacuum tuning http://www. Restructure TOAST internal storage format for greater flexibility Re: PG_PAGE_LAYOUT_VERSION 5 – time for change Research different memory allocation methods for lists http://archives. Php Avoid creation of the free space map for small tables http://archives. 0 Allow multiple indexes to be created concurrently, ideally via a single heap scan pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this. Indexes Prevent index uniqueness checks when UPDATE does not modify the column Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE. These pages can also be eliminated from point-in-time archive files. Com Allow pg_export_snapshot() to run on hot standby servers This will allow parallel pg_dump on such servers. Proposal: schema PL session variables proposal: session server side variables Packages: Again Consider allowing control of upper/lower case folding of unquoted identifiers Bringing PostgreSQL torwards the standard regarding case folding Re: [SQL] Case Preservation disregarding case sensitivity. Proposal for PL packages for 8. Conf A smaller default postgresql. This is not viewed as a desirable feature. Php WIP double writes double writes Double-write with Fast Checksums double writes using “double-write buffer” approach http://archives. Php Consider having single-page pruning update the visibility map https://commitfest. Com Documentation [E] Add contrib functions to the index Add the functions and GUCs in the contrib modules to the documentation index: per list discussion Provide a manpage for postgresql. In check for link failure when the cause is found Allow psql to use readline once non-US code pages work with backslashes Improve signal handling Simplify Win32 Signaling code Support PGXS when using MSVC Fix MSVC NLS support, like for to_char() NLS on MSVC strikes back. Prefetch index pages for B-Tree index scans Allow GIN indexes to be used for exclusion constraints http://archives. Php When full page writes are off, write CRC to WAL and check file system blocks on recovery If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. Com Add session-level whitelisting of types for binary-mode transfer http://www. Php Consider removing the attribute options cache http://archives. 1 protocol version will actually work smoothly Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable Allow multi-state authentication (e. Php Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running http://archives. 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. Php Allow configuration of backend priorities via the operating system Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem. CREATE INDEX CONCURRENTLY does not have this complication. Re: MemoryContextAllocHuge(): selectively bypassing MaxAllocSize Cache Usage Consider automatic caching of statements at various levels: Parsed query tree Query execute plan Query results Cached Query Plans (was: global prepared statements) PoC plpgsql – possibility to force custom or generic plan Consider allowing higher priority queries to have referenced shared buffer pages stay in memory longer Re: How to keep a table in memory.

It boots from a small IDE hard disk, which is quite unimportant to this application. The firewall that protects a number of the servers at BSWS is under rather heavy load, not really due to total bandwidth, but the large number of small packets involved. It is running on a 700MHz Duron with 128M RAM and three DEC/Intel 21143-based NICs (one is currently not in use).

Restructure XML and /contrib/xml2 functionality http://archives. Php Verify Xpath escaping behavior Xpath behaviour unintuitive / arguably wrong xpath missing entity decoding – bug or feature .

1-RELEASE-p14 #0: Tue Jan 13 18:53:14 UTC 2015. |-+- 00919 root /usr/local/bin/syscache-daemon | -+- 01183 root .

A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function. 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.

Make SET CONNECTION thread-aware, non-standard. Allow multidimensional arrays Implement COPY FROM STDIN Provide a way to specify size of a bytea parameter BUG #4866: ECPG and BYTEA [E] Fix small memory leaks in ecpg Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated Allow reuse of cursor name variables Problems with variable cursorname in ecpg .

Typmod information) Mark result columns as known-not-null when possible Adding nullable indicator to Describe Use compression Specify and implement wire protocol compression. Try client peer, fall back to md5) http://www. Php Windows Remove configure. Php Restructure /contrib section http://archives. At the same time, it would greatly complicate backups and other administrative tasks. Com Let the client indicate character encoding of database names, user names, passwords, and of pre-auth error messages returned by the server http://www. Conf A smaller default postgresql. Php Consider removing the attribute options cache http://archives. Com Add session-level whitelisting of types for binary-mode transfer http://www. Com Allow negotiation of encryption, STARTTLS style, rather than forcing client to decide on SSL or . We would rather have such problems reported and fixed. 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. 3 so we really need to do it ourselves. Client needs to be able to specify statement boundary with protocol message. Restructure TOAST internal storage format for greater flexibility Re: PG_PAGE_LAYOUT_VERSION 5 – time for change Research different memory allocation methods for lists http://archives. TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers Identifier case folding notes Identifier case folding notes Cluster wide option to control symbol case folding Add autonomous transactions autonomous transactions Give query progress indication Query progress indication Rethink our type system Rethinking datatypes Features We Do Not Want 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. One process per session lack of sharing “Oracle-style” optimizer hints (not wanted) Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. Conf Consider changing documentation format from SGML to XML Re: Authoring Tools WAS: Switching to XML http://archives. It is also possible to implement these capabilities in any schema and not use a separate “packages” syntax at all. Php Exotic Features Add pre-parsing phase that converts non-ISO syntax to supported syntax This could allow SQL written for other databases to run without modification. Com Permit lazy fetches of large values, at least out-of-line TOASTED values http://www. Allow plug-in modules to emulate features from other databases Add features of Oracle-style packages A package would be a schema with session-local variables, public/private functions, and initialization functions. 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. Jp Create a more efficient way to handle out-of-line parameters Re: Slowness of extended protocol Separate transaction delineation from protocol error recovery (in v3 both are managed via the same Sync message) https://www. ” after interterminate result due to crash or connection loss Report xlog position in commit message Help enable client-side failover by providing a token clients can use to see if a commit has replayed to replicas yet http://www. If SSL transparent compression is used, hopefully avoid the overhead of key negotiation and encryption when SSL is configured only for compression. Php Reduce file statistics overhead on directory reads http://www. 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. Com Changes to make cancellations more reliable and more secure http://www. In check for link failure when the cause is found Allow psql to use readline once non-US code pages work with backslashes Improve signal handling Simplify Win32 Signaling code Support PGXS when using MSVC Fix MSVC NLS support, like for to_char() NLS on MSVC strikes back. 1 protocol version will actually work smoothly Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable Allow multi-state authentication (e. Column names of result sets using new statement protocol Set protocol for wire format negotiation GUC_REPORT for protocol tunables Make sure upgrading to a 4. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc. Conf A smaller default postgresql. Net Fix cross-compiling on Windows http://archives. Com Send numeric version to clients in fixed header patch to send server_version_num in v3 protocol as GUC_REPORT Add decoded type length/precision (i. Us Send client the xid when it is allocated Lets the client later ask the server “did this commit or not. 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. Org/6/320/ Allow re-authentication Let the client request re-authentication as a different user mid session, for connection pools that pass through the handshake. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. Com Add diagrams to the documentation http://archives. Identify the affected object in CommandComplete message. Php Update clients to use data types, typmod, schema. Re: SQL compatibility reminder: MySQL vs PostgreSQL On-disk bitmap indexes (not wanted) The rigidity of on-disk bitmap indexes, and the existence of GIN and in-memory bitmaps make this undesirable. Proposal: schema PL session variables proposal: session server side variables Packages: Again Consider allowing control of upper/lower case folding of unquoted identifiers Bringing PostgreSQL torwards the standard regarding case folding Re: [SQL] Case Preservation disregarding case sensitivity. SSL before connecting http://www. Com Clarify semantics of statement_timeout in extended query protocol Batched and pipelined queries have unexpected behaviour with statement_timeout. All backends running as threads in a single process (not wanted) This eliminates the process protection we get from the current setup. Obfuscated stored procedures (was Re: Oracle and Postgresql) Indeterminate behavior for the GROUP BY clause (not wanted) 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. Embedded server (not wanted) 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. Php [PATCH] Add support for GnuTLS TODO: GNU TLS Consider making NAMEDATALEN more configurable Research use of signals and sleep wake ups Restartable signals ‘n all that Allow C++ code to more easily access backend code Mostly Harmless: Welcoming our C++ friends C++ port of Postgres Consider simplifying how memory context resets handle child contexts Re: Memory leak in nodeAgg Improve detection of shared memory segments being used by others by checking the SysV shared memory field ‘nattch’ postgresql in FreeBSD jails: proposal Re: postgresql in FreeBSD jails: proposal Implement the non-threaded Avahi service discovery protocol Re: [PATCHES] Avahi support for Postgresql Re: Avahi support for Postgresql Re: [PATCHES] Avahi support for Postgresql Re: [HACKERS] Avahi support for Postgresql Reduce data row alignment requirements on some 64-bit systems [WIP] Reduce alignment requirements on 64-bit systems. This is not viewed as a desirable feature. Org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML Document support for N’ ‘ national character string literals, if it matches the SQL standard http://archives. Com Documentation [E] Add contrib functions to the index Add the functions and GUCs in the contrib modules to the documentation index: per list discussion Provide a manpage for postgresql. Re: Bitmap index AM Bitmap index thoughts Stream bitmaps Re: Bitmapscan changes – Requesting further feedback Updated bitmap index patch Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch) Bitmap Indexes: request for feedback bitmap indexes – performance [PATCH] bitmap indexes . 3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back. Com Fix hang with long file paths Long paths for tablespace leads to uninterruptible hang in Windows Wire Protocol Changes / v4 Protocol
Allow dynamic character set handling Ensure the client can determine the encoding of messages sent early in the handshake http://www. Obfuscated function source code (not wanted) Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. 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. Improve NLS maintenance of libpgport messages linked onto applications Use UTF8 encoding for NLS messages so all server encodings can read them properly Allow creation of universal binaries for Darwin Getting to universal binaries for Darwin Consider GnuTLS if OpenSSL license becomes a problem http://archives. Conf Change the manpage-generating toolchain to use the new XML-based docbook2x tools A smaller default postgresql. 1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years. Besides, there are several very mature embedded SQL databases already available. Proposal for PL packages for 8. ) Fix global namespace issues when using multiple terminal server sessions problems with Windows global namespace Change from the current autoconf/gmake build system to cmake About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major) Improve consistency of path separator usage http://archives. Note that compression is being removed from TLS 1. See Optimizer Hints Discussion for further information.

Allow single batch hash joins to preserve outer pathkeys Re: Potential Join Performance Issue a few crazy ideas about hash joins Use “lazy” hash tables to look up only the tuples that are actually requested a few crazy ideas about hash joins Avoid building the same hash table more than once during the same query a few crazy ideas about hash joins Avoid hashing for distinct and then re-hashing for hash join Re: Fixing Grittner’s planner issues a few crazy ideas about hash joins .


3 responses on “Freebsd syscache daemon

  1. [144] The internal dissent in the Debian project regarding the non-free section has persisted,[145] but the last time it came to a vote in 2004, the majority decided to keep it. Richard Stallman and the Free Software Foundation have criticized the Debian project for hosting the non-free repository and because the contrib and non-free areas are easily accessible,[142][143] an opinion echoed by some in Debian including the former project leader Wichert Akkerman.

  2. Sorry guys, you can't get anymore a free vps from haphost, they closed the service on the 1st of August, hope you will find a better free vps .

  3. This provides an efficient strategy, e. ZFS file systems can be moved to other pools, also on remote hosts over the network, as the send command creates a stream representation of the file system’s state. This stream can either describe complete contents of the file system at a given snapshot, or it can be a delta between snapshots. Computing the delta stream is very efficient, and its size depends on the number of blocks changed between the snapshots. , for synchronizing offsite backups or high availability mirrors of a pool.

Leave a Reply

Your email address will not be published. Required fields are marked *