Appendix E. Release Notes
Add a check for stack overflow in
copyObject()
(Tom Lane)
Certain code paths could crash due to stack overflow given a sufficiently complex query.
Fix detection of page splits in temporaryGiST indexes (Heikki Linnakangas)
It is possible to have a “concurrent” page splitin a temporary index, if for example there is anopen
cursor scanning the index when an insertionis done. GiSTfailedto detectthis case and hence could
deliver wrong results when execution of the cursor continued.
Fix error checking during early connection processing (Tom Lane)
The check for too many child processes was skipped in some cases, possibly leading to postmaster
crash when attempting to add the new child process to fixed-size arrays.
Improve efficiency of window functions (Tom Lane)
Certain cases where a large number of tuples needed to be read in advance, but
work_mem
was
large enough to allow them all to be held in memory, were unexpectedly slow.
percent_rank()
,
cume_dist()
and
ntile()
in particular were subject to this problem.
Avoid memory leakage while
ANALYZE
’ing complex index expressions (Tom Lane)
Ensure an index that uses a whole-row Var still depends on its table (Tom Lane)
An index declared like
create index i on t (foo(t.
*
))
would not automatically get
dropped when its table was dropped.
Add missing support in
DROP OWNED BY
for removing foreign data wrapper/server privileges be-
longing to a user (Heikki Linnakangas)
Do not “inline” a SQL function with multiple
OUT
parameters (Tom Lane)
This avoids a possible crash due to loss of information about the expected result rowtype.
Fix crash when inline-ing a set-returning function whose argument list contains a reference to an
inline-able user function (Tom Lane)
Behave correctly if
ORDER BY
,
LIMIT
,
FOR UPDATE
,or
WITH
is attached to the
VALUES
part of
INSERT ... VALUES
(Tom Lane)
Make the
OFF
keyword unreserved (Heikki Linnakangas)
This prevents problems with using
off
as a variable name in PL/pgSQL. That worked before 9.0,
but was nowbrokenbecause PL/pgSQL now treats all core reserved words as reserved.
Fix constant-folding of
COALESCE()
expressions (Tom Lane)
The planner would sometimes attempt to evaluate sub-expressions that in fact could never be
reached, possibly leading to unexpected errors.
Fix “could not find pathkey item to sort” planner failure withcomparison of whole-row Vars (Tom
Lane)
Fixpostmaster crashwhenconnectionacceptance(
accept()
or one of thecalls made immediately
after it) fails, and the postmaster was compiled with GSSAPI support (Alexander Chernikov)
Retry after receiving an invalid response packet from a RADIUS authentication server (Magnus
Hagander)
This fixes a low-risk potential denial of service condition.
Fix missed unlink of temporary files when
log_temp_files
is active (Tom Lane)
If anerror occurred while attemptingto emit the log message, the unlink was not done, resulting in
accumulation of temp files.
Add print functionality for
InhRelation
nodes (Tom Lane)
2328
Add image pdf acrobat - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
add photo to pdf for; add multiple jpg to pdf
Add image pdf acrobat - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add photo pdf; add picture to pdf form
Appendix E. Release Notes
This avoids a failure when
debug_print_parse
is enabled and certain types of query are exe-
cuted.
Fix incorrect calculation of distance from a point to a horizontal line segment (Tom Lane)
This bug affected several different geometric distance-measurement operators.
Fix incorrect calculation of transaction status in ecpg(Itagaki Takahiro)
Fix errors in psql’s Unicode-escape support (Tom Lane)
Speedup parallel pg_restore when the archive contains many large objects (blobs) (Tom Lane)
Fix PL/pgSQL’s handling of “simple” expressions to not fail in recursion or error-recovery cases
(Tom Lane)
Fix PL/pgSQL’s error reporting for no-such-column cases (Tom Lane)
As of 9.0, itwould sometimes report“missing FROM-clause entry for table foo” when“recordfoo
has no field bar” would be more appropriate.
FixPL/Pythontohonor typmod (i.e., length or precisionrestrictions) whenassigning to tuple fields
(Tom Lane)
This fixes a regression from 8.4.
Fix PL/Python’s handling of set-returning functions (Jan Urbanski)
Attempts to call SPI functions within the iterator generating a set result would fail.
Fix bug in
contrib/cube
’s GiST picksplit algorithm (Alexander Korotkov)
This could result in considerable inefficiency, though not actually incorrect answers, in a GiST
index on a
cube
column. If you have such an index, consider
REINDEX
ing it after installing this
update.
Don’t emit “identifier will be truncated” notices in
contrib/dblink
except when creating new
connections (Itagaki Takahiro)
Fix potential coredump on missing public key in
contrib/pgcrypto
(Marti Raudsepp)
Fix buffer overrun in
contrib/pg_upgrade
(Hernan Gonzalez)
Fix memory leak in
contrib/xml2
’s XPath query functions (Tom Lane)
Update time zone data files to tzdata release 2010o for DST law changes in Fiji and Samoa; also
historical corrections for Hong Kong.
E.83. Release 9.0.1
ReleaseDate: 2010-10-04
This release contains avariety of fixes from 9.0.0. For information about new features in the 9.0major
release, see Section E.84.
E.83.1. Migration to Version 9.0.1
Adump/restore is not required for those running 9.0.X.
2329
.NET PDF Document Viewing, Annotation, Conversion & Processing
Convert image files to PDF. File & Page Process. Annotate & Comment. Add, insert PDF native annotations to PDF file. Support for all the print modes in Acrobat PDF
how to add photo to pdf in preview; adding a png to a pdf
C# PDF Converter Library SDK to convert PDF to other file formats
without using other external third-party dependencies like Adobe Acrobat. you can easily perform file conversion from PDF document to image or document
add image to pdf acrobat reader; how to add a jpeg to a pdf
Appendix E. Release Notes
E.83.2. Changes
Use a separate interpreter for each calling SQL userid in PL/Perl and PL/Tcl (Tom Lane)
This change prevents security problems that can be caused by subverting Perl or Tcl code that
will be executed later in the same session under another SQL user identity (for example, within a
SECURITY DEFINER
function). Most scripting languages offer numerous ways that that might be
done, such as redefining standard functions or operators called by the target function. Without this
change, any SQL user with Perl or Tcl language usage rights can do essentially anything with the
SQL privileges of the target function’s owner.
The cost of this change is that intentional communication among Perl and Tcl functions becomes
more difficult. To provide an escape hatch, PL/PerlU and PL/TclU functions continue to use only
one interpreter per session. This is not considered a security issue since all such functions execute
at the trust level of a database superuser already.
It is likely that third-party procedural languages that claim to offer trusted execution have similar
security issues. We advise contacting the authors of any PL you are depending on for security-
critical purposes.
Our thanks to Tim Bunce for pointing out this issue (CVE-2010-3433).
Improve
pg_get_expr()
security fix so that the function can still be used on the output of a
sub-select (Tom Lane)
Fix incorrect placement of placeholder evaluation (Tom Lane)
This bugcould result in query outputs being non-null when they should be null, in cases where the
inner side of an outer join is a sub-select with non-strict expressions in its output list.
Fix join removal’s handling of placeholder expressions (Tom Lane)
Fix possible duplicate scans of
UNION ALL
member relations (Tom Lane)
Prevent infinite loop in ProcessIncomingNotify() after unlistening (Jeff Davis)
Prevent show_session_authorization() from crashing within autovacuum processes (Tom Lane)
Re-allow input of Julian dates prior to 0001-01-01 AD (Tom Lane)
Input such as
’J100000’::date
worked before 8.4, but was unintentionally broken by added
error-checking.
Make psql recognize
DISCARD ALL
as a command that should not be encased in a transaction
block in autocommit-off mode (Itagaki Takahiro)
Update build infrastructure and documentation to reflect the source code repository’s move from
CVS toGit (Magnus Hagander and others)
E.84. Release 9.0
ReleaseDate: 2010-09-20
2330
C# Windows Viewer - Image and Document Conversion & Rendering in
without using other external third-party dependencies like Adobe Acrobat. Image and Document Conversion Supported by Windows Viewer. Convert to PDF.
adding image to pdf in preview; add picture to pdf document
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
using other external third-party dependencies like Adobe Acrobat. SDK to convert PowerPoint document to PDF document code for PowerPoint to TIFF image conversion
how to add a jpg to a pdf; add image to pdf file acrobat
Appendix E. Release Notes
E.84.1. Overview
This releaseof PostgreSQL adds features thathave beenrequestedfor years, suchas easy-to-userepli-
cation, a mass permission-changing facility, and anonymous code blocks. While past major releases
have been conservative in their scope, this release shows a bold new desire to provide facilities that
newand existingusers of PostgreSQLwill embrace.This has allbeen donewithfewincompatibilities.
Major enhancements include:
Built-in replication based on log shipping. This advance consists of two features: Streaming Repli-
cation, allowing continuous archive (WAL) files to be streamed over a network connection to a
standby server, and Hot Standby, allowing continuous archive standby servers to execute read-only
queries. The net effect is to support a single master with multiple read-only slave servers.
Easier database object permissions management.
GRANT
/
REVOKE IN SCHEMA
supports mass per-
missions changes onexistingobjects, while
ALTER DEFAULT PRIVILEGES
allows control of priv-
ileges for objects created in the future. Large objects (BLOBs) now support permissions manage-
ment as well.
Broadly enhanced stored procedure support. The
DO
statement supports ad-hoc or “anonymous”
code blocks. Functions can now be called using named parameters. PL/pgSQL is now installed
by default, and PL/Perl and PL/Python have been enhanced in several ways, including support for
Python3.
Full support for 64-bit Windows.
More advanced reporting queries, including additional windowing options (
PRECEDING
and
FOLLOWING
)andthe ability to control the order inwhich values are fed to aggregate functions.
New trigger features, including SQL-standard-compliant per-column triggers and conditional trig-
ger execution.
Deferrable unique constraints. Mass updates to unique keys are now possible without trickery.
Exclusion constraints. These providea generalizedversionof unique constraints, allowing enforce-
ment of complex conditions.
New and enhanced security features, including RADIUS authentication, LDAP authentication im-
provements, and a new contrib module
passwordcheck
for testing password strength.
New high-performance implementation of the
LISTEN
/
NOTIFY
feature. Pending events are now
storedin a memory-based queue rather than a table. Also, a “payload” string canbe sent with each
event, rather than transmitting just an event name as before.
New implementation of
VACUUM FULL
.This command now rewrites the entire table and indexes,
rather than moving individual rows to compact space. It is substantially faster in most cases, and
no longer results in index bloat.
New contrib module
pg_upgrade
to support in-place upgrades from 8.3 or 8.4 to 9.0.
Multiple performance enhancements for specific types of queries, including elimination of unnec-
essary joins. This helps optimize some automatically-generated queries, such as those produced by
object-relational mappers (ORMs).
EXPLAIN
enhancements. The output is now available in JSON, XML, or YAML format, and in-
cludes buffer utilization and other data not previously available.
hstore
improvements, including new functions and greater data capacity.
The above items are explained in more detail in the sections below.
2331
C# Word - Word Conversion in C#.NET
using other external third-party dependencies like Adobe Acrobat. Word SDK to convert Word document to PDF document. demo code for Word to TIFF image conversion
attach image to pdf form; add a jpeg to a pdf
VB.NET PDF: How to Create Watermark on PDF Document within
Using this VB.NET Imaging PDF Watermark Add-on, you can a watermark that consists of text or image (such as And with our PDF Watermark Creator, users need no
add photo to pdf reader; acrobat insert image in pdf
Appendix E. Release Notes
E.84.2. Migration to Version 9.0
Adump/restore using pg_dump, or use of pg_upgrade, is required for those wishing to migrate data
from any previous release.
Version 9.0 contains a number of changes that selectively break backwards compatibility in order to
support new features and code quality improvements. In particular, users who make extensive use of
PL/pgSQL, Point-In-Time Recovery (PITR), or Warm Standby should test their applications because
of slight user-visible changes in those areas. Observe the following incompatibilities:
E.84.2.1. Server Settings
Remove server parameter
add_missing_from
,which was defaulted to off for many years (Tom
Lane)
Removeserver parameter
regex_flavor
,whichwas defaulted to
advanced
for manyyears (Tom
Lane)
archive_mode
now onlyaffects
archive_command
;a new setting,
wal_level
,affects the con-
tents of the write-ahead log (Heikki Linnakangas)
log_temp_files
now uses default file size units of kilobytes (Robert Haas)
E.84.2.2. Queries
When querying a parent table, do not doany separate permission checks onchild tables scanned as
part of the query (Peter Eisentraut)
The SQL standard specifies this behavior, and it is also much more convenient in practice than the
former behavior of checking permissions on each child as well as the parent.
E.84.2.3. Data Types
bytea
output now appears in hex format by default (Peter Eisentraut)
The server parameter
bytea_output
can be used to select the traditional output format if needed
for compatibility.
Array input now considers only plain ASCII whitespace characters to be potentially ignorable; it
will never ignore non-ASCII characters, even if they are whitespace according to some locales
(Tom Lane)
This avoids some corner cases where array values could be interpreted differentlydepending on the
server’s locale settings.
Improve standards compliance of
SIMILAR TO
patterns and SQL-style
substring()
patterns
(Tom Lane)
This includes treating
?
and
{...}
as pattern metacharacters, while they were simple literal char-
acters before; that corresponds to new features added in SQL:2008. Also,
^
and
$
are now treated
as simple literal characters; formerlythey were treated as metacharacters, as if the pattern were fol-
lowingPOSIXrather thanSQL rules. Also, in SQL-standard
substring()
,use of parentheses for
nesting no longer interferes with capturing of a substring. Also, processing of bracket expressions
(character classes) is now more standards-compliant.
2332
BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
Also designed to be used add-on for .NET Image SDK, RasterEdge Bitmap to PDF Converter can Powerful image converter for Bitmap and PDF files; No need for
acrobat add image to pdf; how to add image to pdf
PDF to WORD Converter | Convert PDF to Word, Convert Word to PDF
out transformation between different kinds of image files and Word Converter has accurate output, and PDF to Word need the support of Adobe Acrobat & Microsoft
how to add a picture to a pdf file; adding an image to a pdf in acrobat
Appendix E. Release Notes
Reject negative length values in 3-parameter
substring()
for bit strings, per the SQL standard
(Tom Lane)
Make
date_trunc
truncaterather thanroundwhenreducing precisionof fractional seconds (Tom
Lane)
The code always acted this way for integer-based dates/times. Now float-based dates/times behave
similarly.
E.84.2.4. Object Renaming
Tighten enforcement of column name consistency during
RENAME
when a child table inherits the
same columnfrom multiple unrelated parents (KaiGai Kohei)
No longer automatically rename indexes and indexcolumns when the underlyingtable columns are
renamed (Tom Lane)
Administrators can still rename such indexes and columns manually. This change will require an
update of the JDBC driver, and possibly other drivers, so that unique indexes are correctly recog-
nized after a rename.
CREATE OR REPLACE FUNCTION
can no longer change the declared names of function parame-
ters (Pavel Stehule)
In order to avoid creating ambiguity in named-parameter calls, it is no longer allowed to change
the aliases for input parameters in the declaration of an existing function (although names can still
be assigned to previously unnamed parameters). You now have to
DROP
and recreate the function
to do that.
E.84.2.5. PL/pgSQL
PL/pgSQL now throws an error if a variable name conflicts with a column name used in a query
(Tom Lane)
The former behavior was to bind ambiguous names to PL/pgSQL variables in preference to
query columns, which often resulted in surprising misbehavior. Throwing an error allows easy
detection of ambiguous situations. Although it’s recommended that functions encountering this
type of error be modified to remove the conflict, the old behavior can be restored if necessary via
the configuration parameter
plpgsql.variable_conflict
, or via the per-function option
#variable_conflict
.
PL/pgSQL no longer allows variable names that match certain SQL reserved words (Tom Lane)
This is a consequence of aligning the PL/pgSQL parser tomatch the core SQL parser more closely.
If necessary, variable names can be double-quoted to avoid this restriction.
PL/pgSQL nowrequires columns of composite results to matchthe expected type modifier as well
as base type (Pavel Stehule, Tom Lane)
For example, if a column of the result type is declared as
NUMERIC(30,2)
,it is no longer ac-
ceptable to return a
NUMERIC
of some other precision in that column. Previous versions neglected
to check the type modifier and would thus allow result rows that didn’t actually conform to the
declared restrictions.
PL/pgSQL nowtreats selection into composite fields more consistently (Tom Lane)
2333
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS VB.NET PPT: VB Code to Add Embedded Image Object to
add jpg to pdf; how to add a photo to a pdf document
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
It can be used standalone. JPEG to PDF Converter is able to convert image files to PDF directly without the software Adobe Acrobat Reader for conversion.
add jpg to pdf preview; add a jpg to a pdf
Appendix E. Release Notes
Formerly, a statementlike
SELECT ... INTO
rec
.
fld
FROM ...
was treated asa scalar assign-
ment even if the record field
fld
was of composite type. Now it is treated as a record assignment,
the same as when the
INTO
target is a regular variable of composite type. So the values to be as-
signed to the field’s subfields should be written as separate columns of the
SELECT
list, not as a
ROW(...)
construct as in previous versions.
If you need to do this in a way that will work in both 9.0 and previous releases, you can write
something like
rec
.
fld
:= ROW(...) FROM ...
.
Remove PL/pgSQL’s
RENAME
declaration (Tom Lane)
Instead of
RENAME
,use
ALIAS
,which cannow create an alias for any variable, not only dollar sign
parameter names (suchas
$1
)as before.
E.84.2.6. Other Incompatibilities
Deprecate use of
=>
as an operator name (Robert Haas)
Future versions of PostgreSQL will probably reject this operator name entirely, in order to support
the SQL-standard notation for named function parameters. For the moment, it is still allowed, but
awarning is emitted when such an operator is defined.
Remove support for platforms that don’t have a working 64-bit integer data type (Tom Lane)
It is believed all still-supported platforms have working 64-bit integer data types.
E.84.3. Changes
Version 9.0 has an unprecedented number of new major features, and over 200 enhancements, im-
provements, new commands, new functions, and other changes.
E.84.3.1. Server
E.84.3.1.1. Continuous Archiving and Streaming Replication
PostgreSQL’s existing standby-server capability has been expanded bothto support read-only queries
on standbyservers and to greatly reduce the lag betweenmaster and standby servers. For manyusers,
this will be a useful and low-administration form of replication, either for high availability or for
horizontal scalability.
Allow a standby server to accept read-only queries (Simon Riggs, Heikki Linnakangas)
This feature is called Hot Standby. There are new
postgresql.conf
and
recovery.conf
set-
tings tocontrol this feature, as well as extensive documentation.
Allow write-ahead log (WAL) data to be streamed to a standby server (Fujii Masao, Heikki Lin-
nakangas)
This feature is called StreamingReplication. Previously WAL datacould be sent tostandby servers
only in units of entire WAL files (normally 16 megabytes each). Streaming Replication eliminates
this inefficiency andallows updates on the master to be propagatedto standby servers with very lit-
tle delay. There are new
postgresql.conf
and
recovery.conf
settings to control this feature,
as well as extensive documentation.
2334
Appendix E. Release Notes
Add
pg_last_xlog_receive_location()
and
pg_last_xlog_replay_location()
,
which can be used to monitor standby server WAL activity (Simon Riggs, Fujii Masao, Heikki
Linnakangas)
E.84.3.1.2. Performance
Allow per-tablespace values to be set for sequential and random page cost estimates
(
seq_page_cost
/
random_page_cost
) via
ALTER TABLESPACE ... SET/RESET
(Robert
Haas)
Improve performance and reliability of EvalPlanQual rechecks in join queries (Tom Lane)
UPDATE
,
DELETE
,and
SELECT FOR UPDATE/SHARE
queries that involve joins will now behave
much better when encountering freshly-updated rows.
Improve performance of
TRUNCATE
when the table was created or truncated earlier in the same
transaction (Tom Lane)
Improve performance of finding inheritance child tables (Tom Lane)
E.84.3.1.3. Optimizer
Remove unnecessary outer joins (Robert Haas)
Outer joins where the inner side is uniqueandnot referenced above the joinareunnecessaryand are
therefore now removed. This will accelerate many automatically generated queries, such as those
created by object-relational mappers (ORMs).
Allow
IS NOT NULL
restrictions to use indexes (Tom Lane)
This is particularlyuseful for finding
MAX()
/
MIN()
values in indexesthatcontain many nullvalues.
Improve the optimizer’s choices about when to use materialize nodes, and when to use sorting
versus hashing for
DISTINCT
(Tom Lane)
Improve the optimizer’s equivalence detection for expressions involving
boolean <>
operators
(Tom Lane)
E.84.3.1.4. GEQO
Use the same random seed every time GEQO plans a query (Andres Freund)
While the Genetic Query Optimizer (GEQO) still selects random plans, it now always selects the
same random plans for identical queries, thus giving moreconsistentperformance. Youcan modify
geqo_seed
to experiment with alternative plans.
Improve GEQO plan selection (Tom Lane)
This avoids the rare error “failed to make a validplan”, and should also improve planning speed.
E.84.3.1.5. Optimizer Statistics
Improve
ANALYZE
to support inheritance-tree statistics (Tom Lane)
2335
Appendix E. Release Notes
This is particularly useful for partitioned tables. However, autovacuum does not yet automatically
re-analyze parent tables when child tables change.
Improve autovacuum’s detection of when re-analyze is necessary (Tom Lane)
Improve optimizer’s estimation for greater/less-than comparisons (Tom Lane)
When looking up statistics for greater/less-than comparisons, if the comparison value is in the first
or last histogram bucket, use an index (if available) to fetch the current actual column minimum or
maximum. This greatly improves the accuracy of estimates for comparison values near the ends of
the data range, particularly if the range is constantly changing due toaddition of new data.
Allow setting of number-of-distinct-values statistics using
ALTER TABLE
(Robert Haas)
This allows users to override the estimated number or percentage of distinct values for a column.
This statistic is normally computed by
ANALYZE
,but the estimate can be poor, especially on tables
with very large numbers of rows.
E.84.3.1.6. Authentication
Add support for RADIUS (Remote Authentication Dial In User Service) authentication (Magnus
Hagander)
Allow LDAP (Lightweight Directory Access Protocol) authentication to operate in “search/bind”
mode (Robert Fleming, Magnus Hagander)
This allows the user to be looked up first, then the system uses the DN (Distinguished Name)
returned for that user.
Add
samehost
and
samenet
designations to
pg_hba.conf
(Stef Walter)
These match the server’s IP address and subnet address respectively.
Pass trusted SSL root certificate names to the client so the client can return an appropriate client
certificate (Craig Ringer)
E.84.3.1.7. Monitoring
Add the ability for clients to set an application name, which is displayed in
pg_stat_activity
(Dave Page)
This allows administrators to characterize database traffic and troubleshoot problems by source
application.
Add a SQLSTATE option (
%e
)to
log_line_prefix
(Guillaume Smet)
This allows users to compile statistics on errors and messages by error code number.
Write to the Windows event log in UTF16 encoding (Itagaki Takahiro)
Nowthere is true multilingual support for PostgreSQL log messages on Windows.
E.84.3.1.8. Statistics Counters
Add
pg_stat_reset_shared(’bgwriter’)
to reset the cluster-wide shared statistics for the
background writer (Greg Smith)
2336
Appendix E. Release Notes
Add
pg_stat_reset_single_table_counters()
and
pg_stat_reset_single_function_counters()
to
allow
resetting
the
statistics counters for individual tables and functions (Magnus Hagander)
E.84.3.1.9. Server Settings
Allow setting of configuration parameters based on database/role combinations (Alvaro Herrera)
Previously only per-database and per-role settings were possible, not combinations. All role and
database settings are now stored in the new
pg_db_role_setting
system catalog. A new psql
command
\drds
shows these settings. The legacy system views
pg_roles
,
pg_shadow
, and
pg_user
do not show combinationsettings, and therefore no longer completely represent the con-
figuration for a user or database.
Add server parameter
bonjour
,which controls whether a Bonjour-enabled server advertises itself
via Bonjour (Tom Lane)
The default is off, meaning it does not advertise. This allows packagers to distribute Bonjour-
enabled builds without worrying that individual users might not want the feature.
Add server parameter
enable_material
,which controls the use of materialize nodes in the opti-
mizer (Robert Haas)
The default is on. When off, the optimizer will not add materialize nodes purely for performance
reasons, though they will still be used when necessary for correctness.
Change server parameter
log_temp_files
touse defaultfilesize units of kilobytes (RobertHaas)
Previously this setting was interpretedin bytes if no units were specified.
Log changes of parameter values when
postgresql.conf
is reloaded (Peter Eisentraut)
This lets administrators and security staff audit changes of database settings, and is also very con-
venient for checking the effects of
postgresql.conf
edits.
Properly enforce superuser permissions for custom server parameters (Tom Lane)
Non-superusers can no longer issue
ALTER ROLE
/
DATABASE SET
for parameters that are not cur-
rently known to the server. This allows the server to correctly checkthat superuser-only parameters
are only set by superusers. Previously, the
SET
would be allowed and then ignored at session start,
making superuser-only custom parameters much less useful than they should be.
E.84.3.2. Queries
Perform
SELECT FOR UPDATE
/
SHARE
processing after applying
LIMIT
,so the number of rows
returned is always predictable (Tom Lane)
Previously, changes made by concurrenttransactions couldcausea
SELECT FOR UPDATE
tounex-
pectedly return fewer rows than specified by its
LIMIT
.
FOR UPDATE
in combination with
ORDER
BY
can still produce surprising results, but that can be corrected by placing
FOR UPDATE
in a sub-
query.
Allow mixing of traditional and SQL-standard
LIMIT
/
OFFSET
syntax (Tom Lane)
Extend the supported frame options in window functions (Hitoshi Harada)
2337
Documents you may be interested
Documents you may be interested