Release 13Release date:2020-XX-XX, CURRENT AS OF 2020-08-09Overview
Major enhancements in PostgreSQL 13 include:
TBD
The above items are explained in more detail in the sections below.
Migration to Version 13
A dump/restore using or use of or logical replication is required for those
wishing to migrate data from any previous release. See for general information on migrating to new major
releases.
Version 13 contains a number of changes that may affect compatibility
with previous releases. Observe the following incompatibilities:
Change SIMILAR
TO ... ESCAPE NULL to return NULL
(Tom Lane)
This new behavior matches the SQL specification.
Previously this caused the escape to be set to the default backslash
character. The previous behavior has been retained in old views
by keeping the original function unchanged. This also applies to
substring(text FROM pattern ESCAPE text).
Have jsonb_to_tsvector()
properly check "string" parameter (Dominik Czarnota)
In , when using adjacent asterisks with braces,
e.g. ".*{2}.*{3}", properly interpret that as ".*{5}" (Nikita Glukhov)
Change the way non-default values affect concurrency
(Thomas Munro)
Previously, this value was adjusted before effecting the number of
concurrent requests. This value is now used directly. Conversion of
old values to new ones can be done using:
SELECT round(sum(OLD / n::float)) FROM generate_series(1, OLD) s(n);
Prevent display of auxiliary processes in and
system views (Euler Taveira)
Queries that join these views to and wish to see auxiliary processes
will need to use left joins.
Rename various wait
events to improve consistency (Fujii Masao, Tom Lane)
Fix ALTER FOREIGN
TABLE ... RENAME COLUMN to return a more appropriate
command tag (Fujii Masao)
Previously it returned ALTER TABLE, but now returns
ALTER FOREIGN TABLE.
Fix ALTER
MATERIALIZED VIEW ... RENAME COLUMN to return a more
appropriate command tag (Fujii Masao)
Previously it returned ALTER TABLE, but now returns
ALTER MATERIALIZED VIEW.
Rename configuration parameter wal_keep_segments
to (Fujii Masao)
This determines how much WAL to retain for the standby server,
specified in megabytes rather than number of files. If you
previously used wal_keep_segments,
the following formula will give you an approximately equivalent setting:
wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)
Remove support for defining operator
classes using pre-PostgreSQL
8.0 syntax (Daniel Gustafsson)
Remove support for defining foreign key
constraints using pre-PostgreSQL
7.3 syntax (Daniel Gustafsson)
Remove support for "opaque" pseudo-types used by
pre-PostgreSQL 7.3 servers (Daniel
Gustafsson)
Remove support for posixrules files in the
timezone database (Tom Lane)
IANA's timezone group has deprecated this feature, meaning that it
will gradually disappear from systems' timezone databases over the
next few years. Rather than have a behavioral change appear
unexpectedly with a timezone data update, we have
removed PostgreSQL's support for this
feature as of version 13. This affects only the behavior
of POSIX-style time
zone specifications that lack an explicit daylight savings
transition rule; formerly the transition rule could be determined
by installing a custom posixrules file, but
now it is hard-wired. The recommended fix for any affected
installations is to start using a geographical time zone name.
Fix 's bt_metap()
to return more appropriate data types that are less likely to overflow
(Peter Geoghegan)
Changes
Below you will find a detailed account of the changes between
PostgreSQL 13 and the previous major
release.
ServerPartitioning
Improve cases where pruning of partitions can happen
(Yuzuko Hosoya, Amit Langote, Álvaro Herrera)
Allow partitionwise
joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita,
Amit Langote, Tom Lane)
For example, partitionwise joins can now happen between partitioned
tables even when their partition bounds do not match exactly.
Allow BEFORE row-level triggers on partitioned tables (Álvaro
Herrera)
These triggers cannot change which partition is the destination.
Allow partitioned tables to be logically replicated via publications (Amit Langote)
Previously, partitions had to be replicated individually. Now
partitioned tables can be published explicitly causing all partitions
to be automatically published. Addition/removal of partitions from
partitioned tables are automatically added/removed from publications.
The CREATE
PUBLICATION option
publish_via_partition_root controls whether changes
to partitions are published as their own or their ancestor's.
Allow logical replication into partitioned tables on subscribers
(Amit Langote)
Previously, subscribers could only receive rows into non-partitioned
tables.
Allow ROW values
to be used as partitioning expressions (Amit Langote)
Indexes
More efficiently store duplicates in btree indexes
(Anastasia Lubennikova, Peter Geoghegan)
This allows efficient btree indexing of low cardinality columns
by storing duplicate keys only once. Users upgrading with pg_upgrade
will need to use REINDEX to make use
of this feature.
Allow GiST and SP-GiST indexes for box/point distance lookups (Nikita
Glukhov)
Allow GIN indexes to
more efficiently handle NOT restrictions (Nikita
Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)
Allow index operator classes
to take parameters (Nikita Glukhov)
Allow CREATE INDEX to specify the GiST signature
length and maximum number of integer ranges (Nikita Glukhov)
Indexes created on four and eight-byte integer
array, tsvector,
, , and columns can now control these GiST index parameters,
rather than using the defaults.
Prevent indexes that use non-default collations from being added as a table's unique or primary
key constraint (Tom Lane)
The index and column collations must now match so the index's
uniqueness matches the column's uniqueness.
Optimizer
Improve the optimizer's selectivity estimation for
containment/match operators (Tom Lane)
Allow setting statistics target
for extended statistics
(Tomas Vondra)
This is controlled with the new command option ALTER
STATISTICS ... SET STATISTICS. Previously this was computed
based on more general statistics target settings.
Allow use of multiple extended statistics objects in a single query
(Tomas Vondra)
Allow use of extended statistics objects for OR clauses and IN/ANY constant
lists (Pierre Ducroquet, Tomas Vondra)
Allow functions in FROM clauses to be moved to their
reference sites if they evaluate to constants (Alexander Kuzmenkov,
Aleksandr Parfenov)
General Performance
Implement incremental
sorting (James Coleman, Alexander Korotkov, Tomas Vondra)
If a result is already sorted by several leading keys, this
allows for batch sorting of additional trailing keys because the
previous keys are already equal. This is controlled by .
Improve the performance of sorting inet values (Brandur Leach)
Allow hash aggregation
and grouping sets
to use disk storage for large aggregation result sets (Jeff Davis)
Previously, hash aggregation was avoided if it was expected to use
more than memory. Now, a hash
aggregation plan can be chosen despite that. The hash table will
be spilled to disk if it exceeds work_mem times
.
This behavior is normally preferable to the old behavior. But if
it is inferior for a particular query, behavior similar to
previous Postgres releases can be obtained by
increasing hash_mem_multiplier.
Allow inserts to trigger autovacuum
activity (Laurenz Albe, Darafei Praliaskouski)
This new behavior reduces the work necessary when the table needs to
be frozen and allows pages to be set as all-visible. All-visible pages
allow index-only scans to access fewer heap rows.
Add to control I/O
concurrency for maintenance operations (Thomas Munro)
Allow skipping of WAL for full table writes if is minimal (Kyotaro
Horiguchi)
Relations larger than
will have their files fsync'ed rather than generating
WAL. Previously this was done only for
COPY operations, but the implementation had a bug
that could cause data loss during crash recovery.
Enable Unix-domain sockets
support on Windows (Peter Eisentraut)
Improve the performance when replaying DROP DATABASE
commands when many tablespaces are in use (Fujii Masao)
Improve performance for truncation
of very large relations (Kirk Jamison)
Improve speed of TOAST decompression
and the retrieval of only the leading bytes of TOAST
values (Binguo Bao, Andrey Borodin)
Previously, TOAST values were fully fetched and
only the requested leading bytes were decompressed and returned.
Now, only the requested bytes are fetched.
Improve performance of LISTEN/NOTIFY
(Martijn van Oosterhout)
Improve the efficiency of removing duplicate NOTIFY events (Tom Lane)
Use lookup tables to speed up integer to text conversion (David Fetter)
Reduce memory usage for query strings that contain multiple
SQL statements (Amit Langote)
Monitoring
Allow EXPLAIN,
, autovacuum, and to track WAL usage
statistics (Kirill Bychik, Julien Rouhaud)
Allow a sample of statements to be logged (Adrien Nayrat)
A ratio of statements
taking over duration
will be logged.
Add the backend type to csvlog and optionally log output (Peter Eisentraut)
Improve control of prepared statement parameter logging (Alexey
Bashtanov, Álvaro Herrera)
The GUC setting controls the maximum length
of parameter values output during statement non-error logging, and
does the
same for error statement logging. Previously, prepared statement
parameters were not logged during errors.
Make vacuum buffer counters 64-bits
wide to avoid overflow (Álvaro Herrera)
Allow function call backtraces of errors to be logged (Peter
Eisentraut, Álvaro Herrera)
Server variable specifies
which C functions should generate backtraces on error.
Add min() and
max() aggregates for pg_lsn (Fabrízio
de Royes Mello)
This is useful for monitoring queries.
System Views
Add leader_pid to to report parallel worker ownership
(Julien Rouhaud)
Add system view pg_stat_progress_basebackup
to report the progress of streaming base backups (Fujii Masao)
Add system view pg_stat_progress_analyze
to report analyze progress
(Álvaro Herrera, Tatsuro Yamada, Vinayak Pokale)
Add system view pg_shmem_allocations
to display shared memory usage (Andres Freund, Robert Haas)
Create pg_stat_slru
system view to monitor internal SLRU caches
(Tomas Vondra)
Allow to be set up
to 1MB (Vyacheslav Makarov)
The previous maximum was 100kB.
Wait Events
Add wait event for posix_fallocate() (Thomas
Munro)
Add wait event VacuumDelay to report on cost-based vacuum delay
(Justin Pryzby)
Add wait events for WAL archive and recovery pause
(Fujii Masao)
The new events are BackupWaitWalArchive and RecoveryPause.
Add wait events RecoveryConflictSnapshot and
RecoveryConflictTablespace to monitor recovery conflicts (Masahiko
Sawada)
Improve performance of wait events on BSD-based
systems (Thomas Munro)
Authentication
Only allow superusers to view the setting (Insung Moon)
This was changed as a security precaution.
Change the server's default minimum TLS version
for encrypted connections from 1.0 to 1.2 (Peter Eisentraut)
This is controlled by .
Server Configuration
Tighten rules on which utility commands are possible in mode (Robert Haas)
This also increases the number of utility commands that can run in
parallel queries.
Allow to be changed
after server start (Peter Eisentraut)
Disallow non-superusers from modifying system tables when is set (Peter Eisentraut)
Previously, if
was set at server start, non-superusers could issue
INSERT/UPDATE/DELETE
commands on system tables.
Streaming Replication and Recovery
Allow streaming replication configuration settings to be changed by
reload (Sergei Kornilov)
Previously, a server restart was required to change
and .
Allow WAL receivers use a temporary replication slot
if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
This behavior can be enabled using .
Allow replication slot storage to be limited by (Kyotaro Horiguchi)
Replication slots that exceed this value are invalidated.
Allow standby promotion
to cancel any requested pause (Fujii Masao)
Previously, promotion could not happen while the standby was in
paused state.
Generate an error if recovery does not reach the specified recovery target
(Leif Gunnar Erlandsen, Peter Eisentraut)
Previously, the end of the WAL would promote the
standby, even if the target was not reached.
Allow control over how much memory is used by logical decoding before
it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila)
This is controlled by .
Allow WAL recovery to continue even if invalid
pages are referenced (Fujii Masao)
This is enabled using .
Utility Commands
Allow VACUUM
to process indexes in parallel (Masahiko Sawada, Amit Kapila)
The new PARALLEL option controls this.
Allow FETCH FIRST
to use WITH TIES to return any additional rows
that match the last result row (Surafel Temesgen)
Report planning-time buffer usage in EXPLAIN's
BUFFER output (Julien Rouhaud)
Have CREATE TABLE
LIKE propagate CHECK's NO
INHERIT property to created tables (Ildar Musin, Chris
Travers)
When using LOCK
TABLE on a partitioned table, do not check permissions
on the child tables (Amit Langote)
Allow OVERRIDING USER
VALUE on inserts into identity columns (Dean Rasheed)
Add ALTER
TABLE clause DROP EXPRESSION
to remove generated properties from columns (Peter Eisentraut)
Fix bugs in ALTER TABLE when later clauses overlap
changes made by earlier clauses in the same command (Tom Lane)
Add ALTER VIEW
syntax to rename view columns (Fujii Masao)
This was previously possible only using ALTER TABLE RENAME
COLUMN.
Add ALTER TYPE
options useful for extensions, like TOAST and I/O
functions control (Tomas Vondra, Tom Lane)
Add CREATE
DATABASELOCALE option (Peter
Eisentraut)
This combines existing options LC_COLLATE and
LC_CTYPE into a single option.
Allow DROP
DATABASE to disconnect users so drop succeeds (Pavel
Stehule, Amit Kapila)
This is enabled by WITH FORCE.
Add C structure member tg_updatedcols
to record updated columns to C triggers (Peter Eisentraut)
Data Types
Add polymorphic data types for use by functions requiring compatible
arguments (Pavel Stehule)
The new data types are anycompatible,
anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.
Add SQL data type xid8 to expose FullTransactionId
(Thomas Munro)
The xid data type is only four bytes so does not show the transaction
epoch.
Add data type regcollation and
helper functions for system collations (Julien Rouhaud)
Use the glibc version in some cases as the collation version (Thomas Munro)
If the glibc version changes, a warning will be issued when a
mismatching collation is used.
Add support for collation versions on Windows (Thomas Munro)
Allow ROW values
values to have their members extracted with suffix notation (Tom Lane)
For example, (ROW(4, 5.0)).f1 returns 4.
Functions
Add alternate version of jsonb_setI()
with special NULL handling (Andrew Dunstan)
The new function, jsonb_set_lax(), allows null
new values to either set the specified key to JSON
null, delete the key, raise exception, or ignore the operation.
IS 'return_target' CLEAR?
Add jsonpath .datetime()
method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander
Korotkov)
This allows json values to be converted to timestamps, which can
then be processed in jsonpath expressions. This also adds jsonpath
functions that support time zone-aware output.
Add SQL functions NORMALIZE()
to normalize Unicode strings, and IS
NORMALIZED to check for normalization (Peter
Eisentraut)
Allow Unicode
escapes, e.g., E'\u####', U&'\####', to specify any
character available in the database encoding, even when the database
encoding is not UTF-8 (Tom Lane)
The Unicode characters must be available in the database encoding.
Allow to_date()
and to_timestamp() to recognize non-English
month/day names (Juan José Santamaría Flecha, Tom Lane)
The names recognized are the same as those output by to_char()
with the same format codes.
Add format specifications FF1-FF6 to control display of 1-6 subsecond
digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg
Bartunov)
These patterns can be used by to_char(),
to_timestamp(), and jsonpath's
.datetime().
Add SSSSS time format specification as an
SQL standard alias for SSSS
(Nikita Glukhov, Alexander Korotkov)
Add function gen_random_uuid()
to generate version 4 UUIDs (Peter Eisentraut)
Previously UUID generation functions were only
available via external modules and .
Add greatest-common-denominator (gcd) and
least-common-multiple (lcm) functions (Vik Fearing)
Improve the performance and accuracy of square root and natural log
(ln) output (Dean Rasheed)
Add function min_scale()
that returns the number of digits to the right the decimal point
that is required to represent the numeric value with full precision
(Pavel Stehule)
Add function trim_scale()
to reduce the scale of a number by removing trailing zeros (Pavel
Stehule)
Add commutators of distance
operators (Nikita Glukhov)
For example, previously only point <-> line was supported,
now line <-> point works too.
Create xid8 versions of all transaction id functions
(Thomas Munro)
The old function names were kept for backward compatibility. DO WE
HAVE NEW NAMES?
Allow get_bit()
and set_bit() to set bits beyond 256MB of bytea
data (Movead Li)
Allow advisory-lock
functions to be used in some parallel operations (Tom Lane)
Add the ability to remove an object's dependency on an extension
(Álvaro Herrera)
The object can be a function, materialized view, index, or trigger.
The syntax is ALTER .. NO DEPENDS ON.
PL/pgSQL
Improve performance of simple PL/pgSQL expressions (Tom Lane,
Amit Langote)
Improve the performance of PL/pgSQL functions that use immutable
expressions (Konstantin Knizhnik)
Client Interfaces
Allow libpq clients to require channel binding for encrypted
connections (Jeff Davis)
Using the libpq connection parameter channel_binding
forces the other end of the TLS connection to prove
it knows the user's password. This prevents man-in-the-middle attacks.
Add libpq connection parameters to control the min/max
TLS version for encrypted connections
(Daniel Gustafsson)
The settings are and .
By default, the minimum TLS version is 1.2
(this represents a behavioral change from previous releases).
Tighten libpq's overlength-line handling and comment detection for .pgpass files (Fujii Masao)
Allow specification of passwords to unlock client certificates (Craig
Ringer, Andrew Dunstan)
This is specified by the
connection option.
Allow DER-encoded client certificates (Craig Ringer,
Andrew Dunstan)
Fix ecpg's EXEC SQL
elif directive to work correctly (Tom Lane)
Previously it behaved the same as endif followed
by ifdef, so that a successful previous branch
of the same if construct did not prevent
expansion of the elif branch or following
branches.
Client Applications
Add the transaction status (%x) to the default psql
prompts (Vik Fearing)
Allow the secondary psql prompt to be same
number of spaces as the primary prompt (Thomas Munro)
This is accomplished by setting PROMPT2 to %w.
Allow \g and \gx to
change any \pset output
options for a single command (Tom Lane)
This allows syntax like \g (expand=on), which is equivalent to \gx.
Add psql commands to report operator
classes and operator families (Sergey Cherkashin, Nikita Glukhov,
Alexander Korotkov)
The new commands are \dAc, \dAf, \dAo, and \dAp.
Show table persistence in psql's \dt+ and related commands
(David Fetter)
In verbose mode, the table/index/view shows if the object is permanent,
temporary, or unlogged.
Improve output of psql \d for TOAST
tables (Justin Pryzby)
Adjust display of psql's \e query (Tom Lane)
When exiting the editor, if the query doesn't end with a semicolon
or \g, the query buffer contents will now be displayed.
Add \warn command to
psql (David Fetter)
This is like \echo except that the text is sent to stderr instead
of stdout.
Add the PostgreSQL home page to command-line
output (Peter Eisentraut)
pgbench
Allow pgbench to partition its 'accounts' table (Fabien Coelho)
This allows performance testing of partitioning.
Add pgbench command \aset, which behaves like \gset, but for multiple
queries (Fabien Coelho)
Allow pgbench to generate its data server-side, rather than client side
(Fabien Coelho)
Allow pgbench to dump script contents using
(Fabien Coelho)
Server Applications
Generate backup manifests for base backups, and verify them (Robert
Haas)
A new tool pg_verifybackup
can verify backups.
Have pg_basebackup
estimate the total backup size by default (Fujii Masao)
This computation allows pg_stat_progress_basebackup
to show progress, and can be disabled by using the
option. Previously, this
computation happened only if was used.
Add pg_rewind
option to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
This matches pg_basebackup's
option.
Allow pg_rewind to use the target
cluster's to retrieve needed
WAL (Alexey Kondratov)
This is enabled using the
/ option.
Have pg_rewind automatically run crash
recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal)
This can be disabled by using .
Increase PREPARE
TRANSACTION information reported by
pg_waldump (Fujii Masao)
Add pg_waldump
option to suppress non-error output (Andres
Freund, Robert Haas)
Add pg_dump
option to dump data from
foreign servers (Luis Carril)
Allow vacuum commands run by vacuumdb to operate in parallel mode
(Masahiko Sawada)
This is enabled with the new option.
Allow reindexdb to operate in
parallel (Julien Rouhaud)
Parallel mode is enabled with the new option.
Allow dropdb to force disconnections
so the drop succeeds (Pavel Stehule)
This is enabled with the option.
Remove and
from createuser (Alexander
Lakhin)
The long-supported options for this are called
and .
Use the directory of the pg_upgrade
binary as the default new 'bindir' location when running
pg_upgrade (Daniel Gustafsson)
Documentation
Add a glossary to the documentation
(Corey Huinker, Jürgen Purtz, Roger Harkavy, Álvaro
Herrera)
Reformat tables containing function
information for better clarity (Tom Lane)
Upgrade to use DocBook 4.5
(Peter Eisentraut)
Source Code
Add support for building on Visual Studio 2019 (Haribabu Kommi)
Add build support for MSYS2 (Peter Eisentraut)
Add compare_exchange and fetch_add assembly language code for Power
PC compilers (Noah Misch)
Update Snowball
stemmer dictionaries used by full text search (Panagiotis
Mavrogiorgos)
This adds Greek stemming and improves Danish and French stemming.
Remove support for Windows 2000 (Michael Paquier)
Remove support for non-ELF BSD
systems (Peter Eisentraut)
Remove support for Python versions
2.5.X and earlier (Peter Eisentraut)
Remove support for OpenSSL 0.9.8
and 1.0.0 (Michael Paquier)
Remove support option
(Peter Eisentraut)
This was needed for previously supported version-zero functions.
Remove configure option
(Peter Eisentraut)
This was needed for previously supported version-zero functions.
Add the query string to planner hook functions (Pascal Legrand,
Julien Rouhaud)
Add TRUNCATE
command hook (Yuli Khodorkovskiy)
Add TLS init hook (Andrew Dunstan)
Allow building with no predefined Unix-domain socket directory
(Peter Eisentraut)
Reduce the probability of SysV resource key collision on Unix platforms
(Tom Lane)
Use operating system functions to cleanly erase memory that contains
sensitive information (Peter Eisentraut)
For example, this is used for clearing passwords stored in memory.
Add "headerscheck" script to test C header-file compatibility
(Tom Lane)
Implement internal lists as arrays, rather than a chain of structures
(Tom Lane)
This improves performance for queries that access many object.
The internal List API has also been improved.
Update Windows build scripts
to use the modern flag for
UUID libraries (Kyotaro Horiguchi)
Change the API for TS_execute() (Tom Lane,
Pavel Borisov)
TS_execute callbacks must now provide ternary
(yes/no/maybe) logic. Calculating NOT queries accurately is now
the default.
Additional Modules
Allow extensions to be
specified as trusted (Tom Lane)
Such extensions can be installed in a database by users with creation
rights, even if they are not superusers. This change also removes
the pg_pltemplate system catalog.
Remove support for upgrading "unpackaged" extensions (Tom Lane)
Allow non-superusers to connect to
foreign servers without using a password (Craig Ringer)
Specifically, allow ALTER
USER MAPPING to set
password_required to false. Care must still be
taken to avoid non-superusers from using superuser credentials to
connect to the foreign server.
Allow postgres_fdw to use certificate
authentication (Craig Ringer)
Different users can use different certificates.
Allow to control access to the
TRUNCATE command (Yuli Khodorkovskiy)
Add extension bool_plperl
which transforms SQL booleans to/from PL/Perl
booleans (Ivan Panchenko)
Have treat SELECT
... FOR UPDATE as distinct from those without FOR
UPDATE (Andrew Gierth, Vik Fearing)
Allow pg_stat_statements to optionally
track the planning time of statements (Julien Rouhaud, Pascal Legrand,
Thomas Munro, Fujii Masao)
Previously only execution time was tracked.
Overhaul 's lquery syntax to treat
NOT (!) more logically (Filip Rembialkowski,
Tom Lane, Nikita Glukhov)
Also allow non-* queries to use a numeric range ({}) of matches.
Add support for binary I/O of , lquery, and
ltxtquery types (Nino Floris)
Add option to extension to ignore the sign
of integers (Jeff Janes)
Add function
pg_file_sync() to allow fsync'ing a file
(Fujii Masao)
Add functions to output
t_infomask/t_infomask2
values in human-readable format (Craig Ringer, Sawada Masahiko,
Michael Paquier)
Add btree index deduplication processing columns to pageinspect output
(Peter Geoghegan)
Acknowledgments
The following individuals (in alphabetical order) have contributed to this
release as patch authors, committers, reviewers, testers, or reporters of
issues.
Adam LeeAdam ScottAdé HeywardAdrien NayratAhsan HadiAlastair McKinleyAleksandr ParfenovAlex AktsipetrovAlex MacyAlex ShulginAlexander KorotkovAlexander KukushkinAlexander KuzmenkovAlexander LakhinAlexey BashtanovAlexey KondratovÁlvaro HerreraAmit KapilaAmit KhandekarAmit LangoteAmul SulAnastasia LubennikovaAndreas Joseph KroghAndreas KarlssonAndreas KunertAndreas SeltenreichAndrei ZubkovAndres FreundAndrew DunstanAndrew GierthAndrey BorodinAndrey KlychkovAndrey LepikhovAnna AkentevaAnna EndoAnthony NowocienAnton VlasovAntonin HouskaAnts AasmaArne RolandArnold MüllerArseny SherArthur NascimentoArthur ZakirovAsaba TakanoriAshutosh BapatAshutosh SharmaAshwin AgrawalAsif RehmanAsim PraveenAtsushi TorikoshiAugustinas JokubauskasAustin DrenskiBasil BourqueBeena EmersonBen CornettBenjie GillamBenoît LobréauBernd HelmleBharath RupireddyBhargav KamineniBinguo BaoBrad DeJongBrandur LeachBrent BatesBrian WilliamsBruce MomjianCameron EzellCary HuangChapman FlackCharles OffenbacherChen HuajunChenyang LuChris BandyChris TraversChristoph BergChristophe CourtoisCorey HuinkerCraig RingerCuiping LinDagfinn Ilmari MannsåkerDaniel FioriDaniel GustafssonDaniel VéritéDaniel WestermannDarafei PraliaskouskiDaryl WaycottDave CramerDavid ChristensenDavid FetterDavid G. JohnstonDavid GilmanDavid HarperDavid RowleyDavid SteeleDavid ZhangDavinder SinghDean RasheedDenis StuchalinDent JohnDidier GautheronDilip KumarDmitry BelyavskyDmitry DolgovDmitry IvanovDmitry TelptDmitry UspenskiyDominik CzarnotaDongming LiuEd MorleyEdmund HornerEmre HasegeliEric GillumErik RijkersErwin BrandstetterEthan WaldoEtsuro FujitaEugen KonkovEuler TaveiraFabien CoelhoFabrízio de Royes MelloFelix LechnerFilip JanusFilip RembialkowskiFrank GagnepainGeorgios KokolatosGilles DaroldGreg NancarrowGrigory SmolkinGuancheng LuoGuillaume LelargeHadi MoshayediHaiying TangHamid AkhtarHans BuschmannHaribabu KommiHeath LordHeikki LinnakangasHironobu SuzukiHugh McMasterHugh RanalliHugh WangIan BarwickIbrar AhmedIldar MusinInsung MoonIreneusz PlutaIsaac MorlandIvan KartyshovIvan PanchenkoIvan Sergio BorgonovoJaime CasanovaJames ColemanJames GrayJames InformJames LucasJaroslav SivyJeevan ChalkeJeevan LadheJeff DavisJeff JanesJehan-Guillaume de RorthaisJeremy SchneiderJeremy SmithJerry SieversJesper PedersenJesse ZhangJian ZhangJie ZhangJim NasbyJimmy YihJobin AugustineJoe ConwayJohn HsuJohn NaylorJon JensenJonathan KatzJorge Gustavo RochaJosef ŠimánekJoseph NahmiasJuan José Santamaría FlechaJulian BackesJulien RouhaudJürgen PurtzJustin KingJustin PryzbyKarl O. PincKeisuke KurodaKeith FiskeKen TanzerKirill BychikKirk JamisonKonstantin KnizhnikKuntal GhoshKyle KingsburyKyotaro HoriguchiLars KanisLaurenz AlbeLeif Gunnar ErlandsenLi JapinLiudmila MantrovaLucas ViecelliLuis M. CarrilLukáš SobotkaMaciek SakrejdaMagnus HaganderMahadevan RamachandranMahendra Singh ThalorManuel RiggerMarc MunroMarcos DavidMarina PolyakovaMark DilgerMark WongMarko TiikkajaMarkus WinandMarti RaudseppMartijn van OosterhoutMasahiko SawadaMasahiro IkedaMasao FujiiMateusz GuzikMatt JibsonMatteo BeccatiMaxence AhloucheMelanie PlagemanMichael BanckMichael LuoMichael MeskesMichael PaquierMichail NikolaevMike PalmiottoMithun CyMovead LiNathan BossartNazli Ugur KoyluogluNeha SharmaNicola ContuNicolás AlvarezNikhil SontakkeNikita GlukhovNikolay ShaplovNino FlorisNoah MischNoriyoshi ShinodaOleg BartunovOleksii KliukinOndrej JirmanPanagiotis MavrogiorgosPascal LegrandPatrick McHardyPaul GuoPaul JungwirthPaul RamseyPaul SpencerPavan DeolaseePavel BorisovPavel LuzanovPavel StehulePavel SuderevskyPeifeng QiuPengzhou TangPeter BillenPeter EisentrautPeter GeogheganPeter SmithPetr FedorovPetr JelínekPhil BayerPhilip SemanchukPierre DucroquetPierre GiraudPiotr Gabriel KosinskiPiotr WlodarczykPrabhat SahuQuan ZongliangQuentin RameauRafael CastroRafia SabihRaj MohiteRajkumar RaghuwanshiRamanarayana MRanier VilelaRares SalcudeanRaúl Marín RodríguezRaymond MartinReijo SuhonenRichard GuoRobert FordRobert HaasRobert TreatRobins TharakanRoger HarkavyRoman PeshkurovRui DeSousaRui Hai JiangRushabh LathiaRyan LambertRyohei TakahashiScott RibeSean FarrellSehrope SarkuniSergei AgalakovSergei KornilovSergey CherkashinShawn DebnathShawn WangShay RojanskyShenhao WangSimon RiggsSlawomir ChodnickiSoumyadeep ChakrabortyStéphane LorekStephen FrostSteve RogersonSteven WinfieldSurafel TemesgenSuraj KharageTakao FujiiTakatsuka HarukaTakayuki TsunakawaTakuma HoshiaiTatsuhito KasaharaTatsuo IshiiTatsuro YamadaTaylor VeselyTeodor SigaevTham NguyenThibaut MadelaineThom BrownThomas KellererThomas MunroTiago AnastacioTim ClarkeTim MöhlmannTom EllisTom GottfriedTom LaneTomas VondraTuomas LeikolaTushar AhujaVictor WagnerVictor YegorovVignesh CVik FearingVinay BanakarVladimir LeskovVladimir SitnikovVyacheslav MakarovVyacheslav ShablistyyWill LeinweberWilliam CrowellWyatt AltYang XiaoYaroslav SchekinYi HuangYigong HuYoann La CancelleraYoshikazu ImaiYu KimuraYugo NagataYuli KhodorkovskiyYusuke EgashiraYuya WatariYuzuko HosoyaZhenHua Cai