pdf viewer for asp.net web application : Add an image to a pdf with acrobat software Library dll winforms .net html web forms postgresql-9.4-A4214-part2851

Appendix E. Release Notes
This release contains avariety of fixes from 9.4.1. For information about new features in the 9.4major
release, see Section E.8.
E.6.1. Migration to Version 9.4.2
Adump/restore is not required for those running 9.4.X.
However, if you use
contrib/citext
’s
regexp_matches()
functions, see the changelog entry
below about that.
Also, if you are upgrading from a version earlier than 9.4.1, see Section E.7.
E.6.2. Changes
Avoid possible crash when client disconnects just before the authentication timeout expires
(Benkocs Norbert Attila)
If the timeout interrupt fired partway through the session shutdown sequence, SSL-related state
would be freed twice, typically causing a crash and hence denial of service to other sessions.
Experimentation shows that an unauthenticated remote attacker could trigger the bug somewhat
consistently, hence treat as security issue. (CVE-2015-3165)
Improve detection of system-call failures (Noah Misch)
Our replacement implementation of
snprintf()
failed to check for errors reported by the under-
lying system library calls; the main case that might be missed is out-of-memory situations. In the
worst case this might lead to information exposure, due to our codeassuming thata buffer had been
overwritten when it hadn’t been. Also, there were a few places in which security-relevant calls of
other system library functions did not check for failure.
It remains possible that some calls of the
*
printf()
family of functions are vulnerable to infor-
mation disclosure if an out-of-memory error occurs atjust the wrong time. We judge the risk to not
be large, but will continue analysis in this area. (CVE-2015-3166)
In
contrib/pgcrypto
, uniformly report decryption failures as “Wrong key or corrupt data”
(Noah Misch)
Previously, somecases of decryptionwith anincorrectkey couldreport other error message texts. It
has been shown that such variance in error reports can aid attackers in recovering keys from other
systems. While it’s unknown whether
pgcrypto
’s specific behaviors are likewise exploitable, it
seems better to avoid the risk by using a one-size-fits-all message. (CVE-2015-3167)
Protect against wraparound of multixact member IDs (Álvaro Herrera, Robert Haas, Thomas
Munro)
Under certain usage patterns, the existing defenses against this might be insufficient, allowing
pg_multixact/members
files to be removed too early, resulting in data loss. The fix for this
includes modifying the server to fail transactions that would result in overwriting old multixact
member ID data, and improving autovacuum to ensure it will act proactively to prevent multixact
member ID wraparound, as it does for transaction IDwraparound.
Fix incorrect declaration of
contrib/citext
’s
regexp_matches()
functions (Tom Lane)
These functions should return
setof text[]
,like the core functions they are wrappers for; but
theywere incorrectly declared as returning just
text[]
.This mistake hadtwo results:first, if there
2068
Add an image to a pdf with 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 image to pdf acrobat reader; add an image to a pdf in preview
Add an image to a pdf with 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
how to add image to pdf acrobat; adding image to pdf in preview
Appendix E. Release Notes
was no match you got a scalar null result, whereas what you should get is anempty set (zero rows).
Second, the
g
flag was effectively ignored, since you would get only one result array even if there
were multiple matches.
While the latter behavior is clearly a bug, there might be applications depending on the former
behavior; therefore the function declarations will not be changed by default until PostgreSQL 9.5.
In pre-9.5 branches, the old behavior exists in version 1.0 of the
citext
extension, while we have
provided corrected declarations in version 1.1 (which is not installed by default). To adopt the fix
in pre-9.5 branches, execute
ALTER EXTENSION citext UPDATE TO ’1.1’
in each database
in which
citext
is installed. (You can also “update” back to 1.0 if you need to undo that.) Be
aware that either update direction will require dropping and recreating any views or rules that use
citext
’s
regexp_matches()
functions.
Render infinite dates and timestamps as
infinity
when converting to
json
,rather thanthrowing
an error (Andrew Dunstan)
Fix
json
/
jsonb
’s
populate_record()
and
to_record()
functions to handle empty input
properly (Andrew Dunstan)
Fix incorrect checking of deferredexclusion constraints after a HOT update (Tom Lane)
If a new row that potentially violates a deferred exclusion constraint is HOT-updated (that is, no
indexedcolumns change and the row can be stored backonto the same table page) later in the same
transaction, theexclusion constraintwouldbe reported as violated whenthe checkfinallyoccurred,
even if the row(s) the new row originallyconflicted with had been deleted.
Fix behavior when changing foreign key constraint deferrability status with
ALTER TABLE ...
ALTER CONSTRAINT
(Tom Lane)
Operations later in the same session or concurrent sessions might not honor the status change
promptly.
Fix planning of star-schema-style queries (Tom Lane)
Sometimes, efficient scanning of a large table requires that index parameters be provided from
more than one other table (commonly, dimension tables whose keys are needed to index a large
fact table). The planner should be able to find such plans, but an overly restrictive search heuristic
prevented it.
Prevent improper reordering of antijoins (NOT EXISTS joins) versus other outer joins (Tom Lane)
This oversight in the planner has been observed to cause “could not find RelOptInfo for given
relids” errors, but it seems possible that sometimes an incorrect query plan might get past that
consistency check and result in silently-wrong query output.
Fix incorrect matching of subexpressions in outer-join plan nodes (Tom Lane)
Previously, if textuallyidentical non-strict subexpressions were usedboth above and belowan outer
join, the planner might try to re-use the value computed below the join, which would be incorrect
because the executor would force the value to NULL in case of an unmatched outer row.
Fix GEQO planner to cope with failure of its join order heuristic (Tom Lane)
This oversight has been seen to lead to “failed to join all relations together” errors in queries in-
volving
LATERAL
,and that might happen in other cases as well.
Ensure that row locking occurs properly when the target of an
UPDATE
or
DELETE
is a security-
barrier view (Stephen Frost)
Use a file opened for read/write whensyncing replication slot data during database startup(Andres
Freund)
2069
.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
add image to pdf form; add jpg signature to 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
how to add photo to pdf in preview; how to add a picture to a pdf file
Appendix E. Release Notes
On some platforms, the previous coding could result in errors like “could not fsync file
"pg_replslot/...": Bad file descriptor”.
Fix possible deadlock at startup when
max_prepared_transactions
is too small (Heikki Lin-
nakangas)
Don’t archive useless preallocated WAL files after a timeline switch (Heikki Linnakangas)
Recursively
fsync()
the data directory after a crash (Abhijit Menon-Sen, Robert Haas)
This ensures consistency if another crash occurs shortly later. (The second crash would have to be
asystem-level crash, not just a database crash, for there to be a problem.)
Fix autovacuum launcher’s possible failure to shut down, if an error occurs after it receives
SIGTERM (Álvaro Herrera)
Fix failure to handle invalidation messages for system catalogs early in session startup(Tom Lane)
This oversight could result in failures in sessions that start concurrently with a
VACUUM FULL
on a
system catalog.
Fix crash in
BackendIdGetTransactionIds()
when trying to get status for a backend process
that just exited (Tom Lane)
Cope with unexpected signals in
LockBufferForCleanup()
(Andres Freund)
This oversight could result in spurious errors about “multiple backends attempting to wait for pin-
count 1”.
Fixcrashwhendoing
COPY IN
toa table with check constraints that containwhole-row references
(Tom Lane)
The known failure case only crashes in 9.4 and up, but there is very similar code in 9.3 and 9.2, so
back-patch those branches as well.
Avoid waiting for WAL flush or synchronous replication during commit of a transaction that was
read-only so far as the user is concerned (Andres Freund)
Previously, a delay could occur at commit in transactions that had written WAL due to HOT page
pruning, leading to undesirable effects such as sessions getting stuck at startup if all synchronous
replicas are down. Sessions have also been observed to get stuck in catchup interrupt processing
when using synchronous replication; this will fix that problem as well.
Avoid busy-waiting with short
recovery_min_apply_delay
values (Andres Freund)
Fix crash when manipulating hash indexes on temporary tables (Heikki Linnakangas)
Fix possible failure during hash index bucket split, if other processes are modifying the index
concurrently (Tom Lane)
Fix memory leaks in GIN index vacuum (Heikki Linnakangas)
Check for interrupts while analyzing index expressions (Jeff Janes)
ANALYZE
executes indexexpressions many times; if there are slow functions insuch anexpression,
it’s desirable to be able to cancel the
ANALYZE
before that loop finishes.
Ensure
tableoid
of a foreigntable is reportedcorrectlywhen a
READ COMMITTED
recheckoccurs
after locking rows in
SELECT FOR UPDATE
,
UPDATE
,or
DELETE
(Etsuro Fujita)
Add the name of the target server to object description strings for foreign-server user mappings
(Álvaro Herrera)
Include the schema name in object identity strings for conversions (Álvaro Herrera)
2070
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.
how to add an image to a pdf in acrobat; adding 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 image to pdf file acrobat; add photo to pdf reader
Appendix E. Release Notes
Recommend setting
include_realm
to 1 when using Kerberos/GSSAPI/SSPI authentication
(Stephen Frost)
Without this, identically-named users from different realms cannot be distinguished. For the mo-
ment this is only a documentation change, but it will become the default setting in PostgreSQL
9.5.
Remove code for matching IPv4
pg_hba.conf
entries to IPv4-in-IPv6 addresses (Tom Lane)
This hack was added in 2003 in response to a report that some Linux kernels of the time would
report IPv4 connections as having IPv4-in-IPv6 addresses. However, the logic was accidentally
brokenin 9.0. The lack of any field complaints since then shows that it’s notneeded anymore. Now
we have reports that the broken code causes crashes on some systems, so let’s just remove it rather
than fix it. (Had we chosen to fix it, that would make for a subtle and potentially security-sensitive
change in the effective meaning of IPv4
pg_hba.conf
entries, which does not seem like a good
thing to do in minor releases.)
Fix status reporting for terminated background workers that were never actually started (Robert
Haas)
After a database crash, don’t restart background workers that are marked
BGW_NEVER_RESTART
(Amit Khandekar)
Report WAL flush, not insert, position in
IDENTIFY_SYSTEM
replication command (Heikki Lin-
nakangas)
This avoids a possible startup failure in pg_receivexlog.
While shutting down service on Windows, periodically send status updates to the Service Con-
trol Manager to prevent it from killing the service too soon; and ensure that pg_ctl will wait for
shutdown (Krystian Bigaj)
Reduce risk of network deadlockwhen using libpq’s non-blocking mode (Heikki Linnakangas)
When sending large volumes of data, it’s important to drain the input buffer every so often, in
case the server has sent enough response data to cause it to block on output. (A typical scenario is
that the server is sending a stream of NOTICE messages during
COPY FROM STDIN
.) This worked
properly in the normal blocking mode, but not so much in non-blocking mode. We’ve modified
libpq to opportunistically drain input when it can, but a full defense against this problem requires
application cooperation: the application should watch for socket read-ready as well as write-ready
conditions, and be sure to call
PQconsumeInput()
upon read-ready.
In libpq, fix misparsing of empty values inURI connection strings (Thomas Fanghaenel)
Fix array handling in ecpg (Michael Meskes)
Fix psql to sanely handle URIs and conninfo strings as the first parameter to
\connect
(David
Fetter, Andrew Dunstan, Álvaro Herrera)
This syntax has been accepted (but undocumented) for a long time, but previously some param-
eters might be taken from the old connection instead of the given string, which was agreed to be
undesirable.
Suppress incorrect complaints from psql on some platforms that it failed to write
~/.psql_history
at exit (Tom Lane)
This misbehavior was caused by a workaround for a bugin very old (pre-2006) versions of libedit.
We fixed it by removing the workaround, which will cause a similar failure to appear for anyone
still using such versions of libedit. Recommendation: upgrade that library, or use libreadline.
Fix pg_dump’s rule for deciding which casts are system-provided casts that should not be dumped
(Tom Lane)
2071
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
add image to pdf acrobat; add jpg to pdf file
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
add jpeg to pdf; how to add image to pdf file
Appendix E. Release Notes
In pg_dump, fix failure to honor
-Z
compression level option together with
-Fd
(Michael Paquier)
Make pg_dump consider foreign key relationships between extension configuration tables while
choosing dump order (Gilles Darold, Michael Paquier, Stephen Frost)
This oversight could result in producing dumps that fail to reload because foreign key constraints
are transiently violated.
Avoid possible pg_dump failure when concurrent sessions are creating and dropping temporary
functions (Tom Lane)
Fix dumping of views that are just
VALUES(...)
but have column aliases (Tom Lane)
Ensure that a view’s replication identity is correctly set to
nothing
during dump/restore (Marko
Tiikkaja)
Previously, if the view was involved in a circular dependency, it might wind up with an incorrect
replication identity property.
In pg_upgrade, force timeline 1 in the new cluster (Bruce Momjian)
This change prevents upgrade failures caused by bogus complaints about missing WAL history
files.
In pg_upgrade, check for improperly non-connectable databases before proceeding (Bruce
Momjian)
In pg_upgrade, quote directory paths properly in the generated
delete_old_cluster
script
(Bruce Momjian)
In pg_upgrade, preserve database-level freezing info properly (Bruce Momjian)
This oversight couldcause missing-clog-file errorsfor tables within the
postgres
and
template1
databases.
Run pg_upgrade and pg_resetxlog with restricted privileges on Windows, so that they don’t fail
when run by an administrator (Muhammad Asif Naeem)
Improve handling of
readdir()
failures when scanning directories in initdb and pg_basebackup
(Marco Nenciarini)
Fix slow sorting algorithm in
contrib/intarray
(Tom Lane)
Fix compile failure on Sparc V8 machines (Rob Rowan)
Silence some build warnings on OS X (Tom Lane)
Update time zone data files to tzdata release 2015d for DST law changes in Egypt, Mongolia, and
Palestine, plus historical changes in Canada and Chile. Also adopt revised zone abbreviations for
the America/Adak zone (HST/HDT not HAST/HADT).
E.7. Release 9.4.1
ReleaseDate: 2015-02-05
This release contains avariety of fixes from 9.4.0. For information about new features in the 9.4major
release, see Section E.8.
2072
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
add a picture to a pdf document; add a picture to a 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 image to pdf; add picture to pdf file
Appendix E. Release Notes
E.7.1. Migration to Version 9.4.1
Adump/restore is not required for those running 9.4.X.
However, if you are a Windows user and are using the “Norwegian (Bokmål)” locale, manual action
is needed after the upgrade to replace any “Norwegian (Bokmål)_Norway” or “norwegian-bokmal”
locale namesstoredinPostgreSQL system catalogs withthe plain-ASCII alias “Norwegian_Norway”.
For details see http://wiki.postgresql.org/wiki/Changes_To_Norwegian_Locale
E.7.2. Changes
Fix buffer overruns in
to_char()
(Bruce Momjian)
When
to_char()
processes a numeric formatting template calling for a large number of digits,
PostgreSQL would read past the end of a buffer. When processing a crafted timestamp formatting
template, PostgreSQL would write past the end of a buffer. Either case could crash the server. We
have not ruled out the possibility of attacks that lead to privilege escalation, though they seem
unlikely. (CVE-2015-0241)
Fix buffer overrun in replacement
*
printf()
functions (Tom Lane)
PostgreSQL includes a replacement implementation of
printf
and related functions. This code
will overrun a stack buffer when formatting a floating point number (conversion specifiers
e
,
E
,
f
,
F
,
g
or
G
)with requested precision greater than about 500. This will crash the server, and we
have not ruled out the possibility of attacks that lead to privilege escalation. A database user can
trigger such abuffer overrunthrough the
to_char()
SQL function. While that is the only affected
core PostgreSQL functionality, extension modules that use printf-family functions may be at risk
as well.
This issue primarily affects PostgreSQL on Windows. PostgreSQL uses the system implementation
of these functions where adequate, which it is on other modern platforms. (CVE-2015-0242)
Fix buffer overruns in
contrib/pgcrypto
(Marko Tiikkaja, Noah Misch)
Errors in memory size tracking within the
pgcrypto
module permitted stack buffer overruns and
improper dependence on the contents of uninitialized memory. The buffer overrun cases can crash
the server, and we have not ruled out the possibility of attacks that lead to privilege escalation.
(CVE-2015-0243)
Fixpossible loss of frontend/backend protocolsynchronization after an error (Heikki Linnakangas)
If any error occurred while the server was in the middle of reading a protocol message from the
client, it could lose synchronization and incorrectly try to interpret part of the message’s data as a
new protocol message. An attacker able to submitcraftedbinarydata within a command parameter
might succeed in injecting his own SQL commands this way. Statement timeout and query can-
cellation are the most likely sources of errors triggering this scenario. Particularly vulnerable are
applications that use a timeout and also submit arbitrary user-crafted data as binary query param-
eters. Disabling statement timeout will reduce, but not eliminate, the risk of exploit. Our thanks to
Emil Lenngren for reporting this issue. (CVE-2015-0244)
Fix information leak via constraint-violation error messages (Stephen Frost)
Some server error messages show the values of columns that violate a constraint, such as a unique
constraint. If the user does not have
SELECT
privilege on all columns of the table, this could mean
exposing values that the user shouldnotbe able to see. Adjust the code so that values are displayed
only when they came from the SQL command or could be selected by the user. (CVE-2014-8161)
2073
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 file; adding an image to a pdf
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
how to add jpg to pdf file; adding a jpeg to a pdf
Appendix E. Release Notes
Lock down regression testing’s temporary installations on Windows (Noah Misch)
Use SSPI authentication to allow connections only from the OS user who launched the test suite.
This closes on Windows the same vulnerability previously closed on other platforms, namely that
other users might be able to connect to the test postmaster. (CVE-2014-0067)
Cope with the Windows locale named “Norwegian (Bokmål)” (Heikki Linnakangas)
Non-ASCII locale names are problematic since it’s not clear what encoding they should be repre-
sented in. Map the troublesome locale name to a plain-ASCII alias, “Norwegian_Norway”.
9.4.0 mapped the troublesome name to “norwegian-bokmal”, but that turns out not to work on all
Windows configurations. “Norwegian_Norway” is now recommended instead.
Fix use-of-already-freed-memory problem in EvalPlanQual processing (Tom Lane)
In
READ COMMITTED
mode, queries that lock or update recently-updated rows could crash as a
result of this bug.
Avoid possible deadlock while trying to acquire tuple locks in EvalPlanQual processing (Álvaro
Herrera, Mark Kirkwood)
Fixfailure to waitwhena transactiontries to acquire a
FOR NO KEY EXCLUSIVE
tuple lock, while
multiple other transactions currently hold
FOR SHARE
locks (Álvaro Herrera)
Improve performance of
EXPLAIN
with large range tables (Tom Lane)
Fix
jsonb
Unicode escape processing, and in consequence disallow
\u0000
(Tom Lane)
Previously, the JSON Unicode escape
\u0000
was accepted and was stored as those six charac-
ters; butthat is indistinguishable from whatis stored for the input
\\u0000
,resultingin ambiguity.
Moreover, in cases where de-escaped textual output is expected, such as the
->>
operator, the
sequence was printed as
\u0000
,which does not meet the expectation that JSON escaping would
be removed. (Consistent behavior would require emitting a zero byte, but PostgreSQL does not
support zero bytes embedded in text strings.) 9.4.0 included an ill-advised attempt to improve this
situationby adjustingJSONoutput conversion rules;but of course that couldnotfixthe fundamen-
tal ambiguity, andit turnedoutto break other usages of Unicode escape sequences. Revert that, and
to avoid the core problem, reject
\u0000
in
jsonb
input.
If a
jsonb
columncontains a
\u0000
value stored with9.4.0, it willhenceforth read out as though
it were
\\u0000
,which is the other valid interpretation of the data stored by 9.4.0 for this case.
The
json
type did not have the storage-ambiguity problem, but it did have the problem of incon-
sistent de-escapedtextualoutput. Therefore
\u0000
will nowalso be rejectedin
json
values when
conversion to de-escaped form is required. This change does not break the ability to store
\u0000
in
json
columns solong as no processing is done onthe values. This is exactly parallel to the cases
in which non-ASCII Unicode escapes are allowed when the database encoding is not UTF8.
Fix namespace handling in
xpath()
(Ali Akbar)
Previously, the
xml
value resulting from an
xpath()
call would not have namespace declarations
if the namespace declarations were attached to an ancestor element in the input
xml
value, rather
than to the specific element being returned. Propagate the ancestral declaration so that the result is
correct when considered inisolation.
Fix assorted oversights in range-operator selectivity estimation (Emre Hasegeli)
This patch fixes corner-case “unexpected operator NNNN” planner errors, and improves the selec-
tivity estimates for some other cases.
Revert unintended reduction in maximum size of a GIN index item (Heikki Linnakangas)
2074
Appendix E. Release Notes
9.4.0 could fail with “index row size exceeds maximum” errors for data that previous versions
would accept.
Fix query-duration memory leak during repeated GIN index rescans (Heikki Linnakangas)
Fix possible crash when using nonzero
gin_fuzzy_search_limit
(Heikki Linnakangas)
Assorted fixes for logical decoding (Andres Freund)
Fix incorrect replay of WAL parameter change records that report changes inthe
wal_log_hints
setting (Petr Jelinek)
Change “pgstat wait timeout” warning message tobe LOG level, and rephrase it tobe more under-
standable (Tom Lane)
This message was originally thought to be essentially a can’t-happen case, but it occurs often
enough on our slower buildfarm members to be a nuisance. Reduce it to LOG level, and expend a
bit more effort on the wording: it now reads “using stale statistics instead of current ones because
stats collector is not responding”.
Warn if OS X’s
setlocale()
starts an unwanted extra threadinside the postmaster (NoahMisch)
Fix libpq’s behavior when
/etc/passwd
isn’t readable (Tom Lane)
While doing
PQsetdbLogin()
,libpq attempts to ascertain the user’s operating system name,
which on most Unix platforms involves reading
/etc/passwd
.As of 9.4, failure to do that was
treated as a hard error. Restore the previous behavior, which was tofail only if the application does
not provide a database role nameto connect as. This supports operationin chroot environments that
lack an
/etc/passwd
file.
Improve consistency of parsing of psql’s special variables (Tom Lane)
Allow variant spellings of
on
and
off
(such as
1
/
0
)for
ECHO_HIDDEN
and
ON_ERROR_ROLLBACK
.
Report a warning for unrecognized values for
COMP_KEYWORD_CASE
,
ECHO
,
ECHO_HIDDEN
,
HISTCONTROL
,
ON_ERROR_ROLLBACK
, and
VERBOSITY
. Recognize all values for all
these variables case-insensitively; previously there was a mishmash of case-sensitive and
case-insensitive behaviors.
Fix pg_dump to handle comments on event triggers without failing (Tom Lane)
Allow parallel pg_dump to use
--serializable-deferrable
(Kevin Grittner)
Prevent WAL files created by
pg_basebackup -x/-X
from being archived again when the
standby is promoted (Andres Freund)
Handle unexpected query results, especially NULLs, safely in
contrib/tablefunc
’s
connectby()
(Michael Paquier)
connectby()
previously crashed if it encountered a NULL key value. It now prints that row but
doesn’t recurse further.
Numerous cleanups of warnings from Coverity static code analyzer (Andres Freund, Tatsuo Ishii,
Marko Kreen, Tom Lane, Michael Paquier)
These changes are mostly cosmetic but in some cases fix corner-case bugs, for example a crash
rather than a proper error report after an out-of-memory failure. None are believed to represent
security issues.
Allow
CFLAGS
from configure’s environment to override automatically-supplied
CFLAGS
(Tom
Lane)
Previously, configure would add any switches that it chose of its own accord to the end of the
user-specified
CFLAGS
string. Since most compilers process switches left-to-right, this meant that
2075
Appendix E. Release Notes
configure’s choices would override the user-specified flags in case of conflicts. That should work
the other way around, so adjust the logic to put the user’s string at the end not the beginning.
Make pg_regress remove any temporary installation it created upon successful exit (Tom Lane)
This results in a very substantial reduction in disk space usage during
make check-world
,since
that sequence involves creation of numerous temporary installations.
Add CST (China Standard Time) to our lists of timezone abbreviations (Tom Lane)
Update time zone data files to tzdata release 2015a for DST law changes in Chile and Mexico, plus
historical changes in Iceland.
E.8. Release 9.4
ReleaseDate: 2014-12-18
E.8.1. Overview
Major enhancements in PostgreSQL 9.4 include:
Add
jsonb
,a more capable and efficient data type for storing JSON data
Add new SQL command ALTER SYSTEM for changing
postgresql.conf
configuration file
entries
Reduce lock strength for some ALTER TABLE commands
Allow materialized views tobe refreshed without blocking concurrent reads
Add support for logical decoding of WAL data, to allow database changes to be streamed out in a
customizable format
Allow background worker processes tobe dynamically registered, started and terminated
The above items are explained in more detail in the sections below.
E.8.2. Migration to Version 9.4
Adump/restore usingpg_dumpall, or use of pg_upgrade, is requiredfor thosewishingto migrate data
from any previous release.
Version 9.4 contains a number of changes that may affect compatibility with previous releases. Ob-
serve the following incompatibilities:
Tighten checks for multidimensional array input (Bruce Momjian)
Previously, an input array string that started with a single-element sub-array could later contain
multi-element sub-arrays, e.g.
’{{1}, {2,3}}’::int[]
would be accepted.
When converting values of type
date
,
timestamp
or
timestamptz
to
JSON
,render the values in
aformat compliant with ISO 8601 (Andrew Dunstan)
2076
Appendix E. Release Notes
Previously such values were rendered according to the current DateStyle setting; but many JSON
processors require timestamps to be in ISO8601 format. If necessary, the previous behavior can be
obtained by explicitly castingthe datetime value to
text
before passing it to the JSON conversion
function.
The
json #> text[]
path extraction operator now returns its lefthand input, not NULL, if the
array is empty (Tom Lane)
This is consistent with the notion that this represents zero applications of the simple field/element
extraction operator
->
.Similarly,
json #>> text[]
with an empty array merely coerces its left-
hand input to text.
Corner cases in the
JSON
field/element/path extraction operators now return NULL rather than
raising an error (Tom Lane)
For example, applying field extraction to a JSON array now yields NULL not an error. This is
more consistent (since some comparable cases such as no-such-field already returned NULL), and
it makes it safe to create expression indexes that use these operators, since they willnow notthrow
errors for any valid JSON input.
Cause consecutive whitespace in
to_timestamp()
and
to_date()
format strings to consume
acorresponding number of characters in the input string (whitespace or not), then conditionally
consume adjacent whitespace, if not in
FX
mode (Jeevan Chalke)
Previously, consecutive whitespace characters in a non-
FX
format string behaved like a single
whitespace character and consumed all adjacentwhitespace in the input string. For example, previ-
ously a format string of three spaces would consume only the first space in
’ 12’
,but it will now
consume all three characters.
Fix
ts_rank_cd()
to ignore stripped lexemes (Alex Hill)
Previously, stripped lexemes were treated as if they had a default location, producing a rank of
dubious usefulness.
For functions declared to take
VARIADIC "any"
,an actual parameter marked as
VARIADIC
must
be of a determinable array type (Pavel Stehule)
Such parameters can no longer be written as an undecorated string literal or
NULL
;a cast to an
appropriate array data type will now be required. Note that this does not affect parameters not
marked
VARIADIC
.
Ensure that whole-rowvariables expose the expected column names tofunctions that pay attention
to column names within composite arguments (Tom Lane)
Constructs like
row_to_json(tab.
*
)
now always emit column names that match the column
aliases visible for table
tab
at the point of the call. In previous releases the emitted column names
wouldsometimes be the table’s actual columnnames regardless of anyaliases assigned in thequery.
DISCARD now also discards sequence-related state (Fabrízio de Royes Mello, Robert Haas)
Rename
EXPLAIN ANALYZE
’s “total runtime” output to “execution time” (Tom Lane)
Nowthat planning time is also reported, the previous name was confusing.
SHOW TIME ZONE
now outputs simple numeric UTC offsets in POSIX timezone format (Tom
Lane)
Previously, such timezonesettings weredisplayedas
interval
values. The new outputis properly
interpreted by
SET TIME ZONE
when passed as a simple string, whereas the old output required
special treatment to be re-parsed correctly.
Foreign data wrappers that support updating foreign tables must consider the possible presence of
AFTER ROW
triggers (Noah Misch)
2077
Documents you may be interested
Documents you may be interested