Go to file
Tom Lane 58054de2d0 Improve the implementation of information_schema._pg_expandarray().
This function was originally coded with a handmade expansion
of the array subscripts.  We can do it a little faster and far
more legibly today, by using unnest() WITH ORDINALITY.

While at it, let's apply the rowcount estimation support that exists
for the underlying unnest() function: reduce the default ROWS estimate
to 100 and attach array_unnest_support.  I'm not sure that
array_unnest_support can do anything useful today with the call sites
that exist in information_schema, but it can't hurt, and the existing
default rowcount of 1000 is surely much too high for any of these
cases.

The psql.sql regression script is using _pg_expandarray() as a
test case for \sf+.  While we could keep doing so, the new one-line
function body makes a poor test case for \sf+ row-numbering, so
switch it to print another information_schema function.

Discussion: https://postgr.es/m/1424303.1703355485@sss.pgh.pa.us
2023-12-27 15:55:46 -05:00
config Remove MSVC scripts 2023-12-20 09:44:37 +09:00
contrib pg_stat_statements: Add test coverage for pg_stat_statements_reset_1_7 2023-12-27 10:48:01 +01:00
doc Doc: specify aclitem syntax more clearly. 2023-12-27 13:52:01 -05:00
src Improve the implementation of information_schema._pg_expandarray(). 2023-12-27 15:55:46 -05:00
.cirrus.star Remove duplicate words in docs and code comments. 2023-10-09 09:18:47 +05:30
.cirrus.tasks.yml Use "template" data directory in tests 2023-08-24 14:38:02 -07:00
.cirrus.yml ci: Make compute resources for CI configurable 2023-08-23 15:15:28 -07:00
.dir-locals.el
.editorconfig Add .editorconfig 2019-12-18 09:13:13 +01:00
.git-blame-ignore-revs Add "Add trailing commas to enum definitions" to .git-blame-ignore-revs 2023-10-26 13:03:43 +02:00
.gitattributes Replace Gen_dummy_probes.sed with Gen_dummy_probes.pl 2023-11-14 10:27:10 +01:00
.gitignore Update top-level .gitignore. 2022-12-04 15:23:00 -05:00
COPYRIGHT Update copyright for 2023 2023-01-02 15:00:37 -05:00
GNUmakefile.in Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
HISTORY Canonicalize some URLs 2020-02-10 20:47:50 +01:00
Makefile Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
README Stop generating plain-text INSTALL instructions. 2023-12-22 13:32:15 -05:00
aclocal.m4 autoconf: Move export_dynamic determination to configure 2022-12-06 18:55:28 -08:00
configure Optimize pg_readv/pg_pwritev single vector case. 2023-11-29 17:19:25 +13:00
configure.ac Optimize pg_readv/pg_pwritev single vector case. 2023-11-29 17:19:25 +13:00
meson.build Initialize data directories with --lc-messages=C for tests. 2023-12-21 15:10:13 -08:00
meson_options.txt meson: Change default of 'selinux' feature option to auto 2023-11-17 10:23:02 -08:00

README

PostgreSQL Database Management System
=====================================

This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions.  This distribution also contains C language bindings.

Copyright and license information can be found in the file COPYRIGHT.

General documentation about this version of PostgreSQL can be found at:
https://www.postgresql.org/docs/devel/
In particular, information about building PostgreSQL from the source
code can be found at:
https://www.postgresql.org/docs/devel/installation.html

The latest version of this software, and related software, may be
obtained at https://www.postgresql.org/download/.  For more information
look at our web site located at https://www.postgresql.org/.