Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 78e0c57

Browse files
committed
Merge branch 'PGPROEE10' of gitlab.postgrespro.ru:pgpro-dev/postgrespro into PGPROEE10
2 parents 0c6207e + dd1def7 commit 78e0c57

File tree

9 files changed

+480
-170
lines changed

9 files changed

+480
-170
lines changed

doc/src/sgml/filelist.sgml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@
197197
<!ENTITY sourcerepo SYSTEM "sourcerepo.sgml">
198198

199199
<!ENTITY release SYSTEM "release.sgml">
200+
<!ENTITY release-proee-10 SYSTEM "release-proee-10.sgml">
200201
<!ENTITY release-pro-10 SYSTEM "release-pro-10.sgml">
201202
<!ENTITY release-pro-9.6 SYSTEM "release-pro-9.6.sgml">
202203
<!ENTITY release-pro-9.5 SYSTEM "release-pro-9.5.sgml">

doc/src/sgml/installation-bin.sgml

Lines changed: 51 additions & 51 deletions
Large diffs are not rendered by default.

doc/src/sgml/intro.sgml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,28 @@
289289
<listitem>
290290
<simpara><application>pg_tsparser</application> module is an alternative text search parser.</simpara>
291291
</listitem>
292+
<listitem>
293+
<simpara>
294+
<filename>pg_shardman</filename> module is an experimental extension
295+
that enables sharding, aiming for scalability and fault tolerance
296+
with transaction support. It provides best results for
297+
<acronym>OLTP</acronym> workloads.
298+
</simpara>
299+
</listitem>
300+
<listitem>
301+
<simpara>
302+
<filename>in-memory</filename> module
303+
enables you to store data in <productname>&productname;</productname>
304+
shared memory.
305+
</simpara>
306+
</listitem>
307+
<listitem>
308+
<simpara>
309+
<filename>vops</filename> module enables vertical data model
310+
for &productname;. It can speed up <acronym>OLAP</acronym> queries
311+
with filtering and aggregation by times.
312+
</simpara>
313+
</listitem>
292314
</itemizedlist>
293315
</para>
294316

doc/src/sgml/multimaster.sgml

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -541,76 +541,6 @@ SELECT mtm.get_cluster_state();
541541
<para><emphasis role="strong">See Also</emphasis></para>
542542
<para><link linkend="multimaster-tuning-configuration-parameters">Tuning
543543
Configuration Parameters</link></para>
544-
<sect4>
545-
<title>Sample Cluster Configuration</title>
546-
<para>
547-
This section shows a sample configuration of a three-node cluster for the
548-
<literal>myuser</literal> user and <literal>mydb</literal> database.
549-
</para>
550-
<para>
551-
First, run the following commands on all cluster nodes:
552-
<programlisting>
553-
# Switch to the 'postgres' user
554-
sudo su - postgres
555-
556-
# Set up environment variables
557-
export PGHOME=/usr/pgproee-&majorversion;
558-
export PATH=$PGHOME/bin:$PATH
559-
export MANPATH=$PGHOME/share/man:$MANPATH
560-
export PGDATA=/var/lib/pgproee/&majorversion;/data
561-
562-
# Create a new user 'myuser' with superuser priviledges
563-
psql --dbname=postgres --username=postgres -c "CREATE USER myuser WITH SUPERUSER ENCRYPTED PASSWORD 'myuserpassword'"
564-
565-
# Create a new database 'mydb'
566-
psql --dbname=postgres --username=myuser --host=127.0.0.1 -c "CREATE DATABASE mydb"
567-
568-
# Enable replication on all cluster nodes.
569-
# The 'trust' method in this example is only provided for
570-
# illustration purposes and is not recommended on production systems.
571-
sed -i '/md5$/s|host|#host|' $PGDATA/pg_hba.conf
572-
echo "host replication myuser samenet trust" >> $PGDATA/pg_hba.conf
573-
echo "host all all 0.0.0.0/0 md5" >> $PGDATA/pg_hba.conf
574-
575-
# Configure postgresql.conf settings
576-
echo "multimaster.max_nodes = 3" >> $PGDATA/postgresql.conf
577-
echo "multimaster.node_id = 'hostname | '{ print substr($1,5,1) }''" >> $PGDATA/postgresql.conf
578-
echo "multimaster.conn_strings = 'dbname=mydb user=myuser host=node1,dbname=mydb user=myuser host=node2,dbname=mydb user=myuser host=node3'" >> $PGDATA/postgresql.conf
579-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET default_transaction_isolation TO 'read committed'"
580-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET wal_level TO logical"
581-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET max_connections TO 100"
582-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET max_prepared_transactions to 300"
583-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET max_wal_senders TO 10"
584-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET max_replication_slots TO 10"
585-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET max_worker_processes TO 250"
586-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "ALTER SYSTEM SET shared_preload_libraries TO multimaster"
587-
psql --exit
588-
589-
# Restart &productname;
590-
sudo systemctl restart postgrespro-enterprise-&majorversion;.service
591-
</programlisting>
592-
</para>
593-
<para>
594-
Now create the <filename>multimaster</filename> extension on one of the nodes.
595-
It will be replicated to all the other cluster nodes automatically.
596-
<programlisting>
597-
# Switch to the 'postgres' user
598-
sudo su - postgres
599-
600-
# Set up environment variables
601-
export PGHOME=/usr/pgproee-&majorversion;
602-
export PATH=$PGHOME/bin:$PATH
603-
export MANPATH=$PGHOME/share/man:$MANPATH
604-
export PGDATA=/var/lib/pgproee/&majorversion;/data
605-
606-
# Create multimaster extension on one of the nodes
607-
psql --dbname=mydb --username=myuser --host=127.0.0.1 -c "CREATE EXTENSION IF NOT EXISTS multimaster"
608-
</programlisting>
609-
</para>
610-
<para>
611-
The cluster is set up and ready to use.
612-
</para>
613-
</sect4>
614544
</sect3>
615545
<sect3 id="multimaster-tuning-configuration-parameters">
616546
<title>Tuning Configuration Parameters</title>

doc/src/sgml/plantuner.sgml

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,45 @@
11
<sect1 id="plantuner">
22
<title>plantuner</title>
33
<para>
4-
The <literal>plantuner</literal> module provides hits for planner,
5-
which can disable or enable indexes for query execution.
4+
The <filename>plantuner</filename> module provides hints
5+
for the planner that can disable or enable indexes for query execution.
66
</para>
77

88
<sect2 id="plantuner-motivation">
99
<title>Motivation</title>
1010
<para>
11-
Whether somebody think it's bad or not, but sometime it's very
12-
interesting to be able to control planner (provide hints, which tell
13-
optimizer to ignore its algorithm in part), which is currently
14-
impossible in &productname; (and PostgreSQL).
15-
Oracle, for example, has over 120 hints,
16-
and Microsoft SQL Server also supports hints.
11+
In some cases, it may be required to control the planner
12+
by providing hints that make the optimizer ignore some
13+
parts of its algorithm. There are many situations when
14+
a developer may want to temporarily disable specific
15+
index(es), without dropping them, or to instruct the planner to
16+
use a specific index.
1717
</para>
1818
<para>
19-
This first version of plantuner provides a possibility to hide
20-
specified indexes from &productname; planner, so it will not use them.
21-
</para>
22-
<para>
23-
There are many situations when developer want to temporarily disable
24-
specific index(es), without dropping them, or to instruct planner to
25-
use specific index.
26-
</para>
27-
<para>
28-
Next, for some workload &productname; could be too pessimistic for
29-
newly created tables and assumes much more rows in table than
30-
it actually has. If plantuner.fix_empty_table GUC variable is set
31-
to true then module will set to zero the number of pages/tuples of
32-
table which hasn't blocks in a file.
19+
This version of <filename>plantuner</filename> provides a
20+
possibility to hide the specified indexes from &productname;
21+
planner, so it will not use them. For some workloads, &productname;
22+
could be too pessimistic about newly created tables and assume
23+
that there are much more rows in a table than it actually has. If the
24+
<varname>plantuner.fix_empty_table</varname> GUC variable is set
25+
to <literal>true</literal>, <filename>plantuner</filename> sets to zero
26+
the number of pages/tuples of the table that has no blocks in a file.
3327
</para>
3428
</sect2>
3529

36-
<sect2 id="plantuner-syntax">
37-
<title>Syntax</title>
38-
<para>plantuner.disable_index &mdash; List of indexes invisible to planner</para>
39-
<para>plantuner.enable_index &mdash; List of indexes visible to planner even they are hidden by plantuner.disable_index.</para>
30+
<sect2 id="plantuner-guc-variables">
31+
<title>GUC Variables</title>
32+
<para><varname>plantuner.disable_index</varname> &mdash; list of indexes invisible to planner.</para>
33+
<para><varname>plantuner.enable_index</varname> &mdash; list of indexes visible to planner even if they are hidden by <varname>plantuner.disable_index</varname>.</para>
4034
</sect2>
4135

4236
<sect2 id="plantuner-usage-example">
4337
<title>Example</title>
4438
<para>
45-
To enable the module you can either load shared library 'plantuner' in
46-
psql session or specify 'shared_preload_libraries' option in
47-
postgresql.conf.
39+
To enable the module, you can either load <literal>plantuner</literal>
40+
shared library in a <literal>psql</literal> session or specify
41+
<varname>shared_preload_libraries</varname> option in
42+
<filename>postgresql.conf</filename>.
4843
<programlisting>
4944
=# LOAD 'plantuner';
5045
=# create table test(id int);

doc/src/sgml/ref/pg-setup.sgml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@
5656
<application>pg-setup</application> is a shell script provided in
5757
the <productname>&productname;</productname> distribution to automate
5858
database cluster setup on Linux systems. This script is provided as
59-
part of the <filename>postgrespro-std-&majorversion;-server</filename>
59+
part of the <filename>postgrespro-&edition;-&majorversion;-server</filename>
6060
package. Once <productname>&productname;</productname> is installed,
6161
you can find <application>pg-setup</application>
6262
in the <filename><replaceable>install-dir</replaceable>/bin</filename>
6363
directory, where <replaceable>install-dir</replaceable> is
64-
<filename>/opt/pgpro/std-&majorversion;</filename>.
64+
<filename>/opt/pgpro/&edition;-&majorversion;</filename>.
6565
</para>
6666
<para>
6767
<application>pg-setup</application> must be run as root, but performs database
@@ -104,24 +104,28 @@
104104
<varlistentry>
105105
<term><option>initdb [<replaceable>initdb_options</replaceable>]</option></term>
106106
<listitem><para>Initialize the database cluster on behalf of the
107-
<literal>postgres</literal> user. Optionally, you can provide
108-
any <xref linkend="app-initdb"> options to customize the installation.
107+
<literal>postgres</literal> user.
109108
</para>
110-
<para>If no <application>initdb</application>
111-
options are provided, the database cluster is initialized in the
112-
<filename>/var/lib/pgpro/std-&majorversion;/data</filename> directory,
113-
using localization settings specified in the <envar>LANG</envar>
109+
<para>By default, the database cluster is initialized in the
110+
<filename>/var/lib/pgpro/&edition;-&majorversion;/data</filename> directory,
111+
with checksums enabled, <literal>auth-local</literal> parameter
112+
set to <literal>peer</literal>, and <literal>auth-host</literal>
113+
parameter set to <literal>md5</literal>.
114+
Localization settings are inherited from the <envar>LANG</envar>
114115
environment variable for the current session.
115116
All the <literal>LC_*</literal> environment variables are ignored.
117+
Optionally, you can provide <xref linkend="app-initdb"> options
118+
to customize the installation.
116119
</para>
117-
<note>
120+
<important>
118121
<para>
119-
<application>pg-setup</application> initializes the database cluster
120-
with checksums enabled. If this is not what you expect, do not
122+
With <application>pg-setup</application>, you cannot
123+
initialize the database cluster with checksums disabled or
124+
choose the data directory. If this is not what you expect, do not
121125
use <application>pg-setup</application> for cluster initialization
122126
and run <xref linkend="app-initdb"> directly instead.
123127
</para>
124-
</note>
128+
</important>
125129
</listitem>
126130
</varlistentry>
127131

@@ -198,17 +202,17 @@
198202
<title>Notes</title>
199203
<para>
200204
If you are installing <productname>&productname;</productname>
201-
from the <filename>postgrespro-std-&majorversion;</filename> package,
205+
from the <filename>postgrespro-&edition;-&majorversion;</filename> package,
202206
<application>pg-setup</application> is invoked automatically with the default settings.
203207
As a result, the database cluster is initialized and the
204208
default database is created in the
205-
<filename>/var/lib/pgpro/std-&majorversion;/data</filename> directory,
209+
<filename>/var/lib/pgpro/&edition;-&majorversion;/data</filename> directory,
206210
<productname>&productname;</productname> service autostart is enabled,
207211
and the service is started.
208212
</para>
209213
<para>
210214
If you are installing <productname>&productname;</productname> server
211-
directly from the <filename>postgrespro-std-&majorversion;-server</filename>
215+
directly from the <filename>postgrespro-&edition;-&majorversion;-server</filename>
212216
package, you can run this script manually to initialize the database cluster
213217
or manage the <productname>&productname;</productname> service.
214218
</para>

doc/src/sgml/ref/pg-wrapper.sgml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,21 @@
4141
provided programs and adjust the handling of
4242
<acronym>SQL</acronym> man pages on Linux systems.
4343
Since <productname>&productname;</productname> is installed into
44-
<filename>/opt/pgpro/std-&majorversion;</filename>, this is required to make
44+
<filename>/opt/pgpro/&edition;-&majorversion;</filename>, this is required to make
4545
client and server programs available in the standard system
4646
<envar>PATH</envar> and find the new <acronym>SQL</acronym> man pages.
4747
This setup is not performed automatically at installation time to avoid possible conflicts
4848
with other <productname>PostgreSQL</productname>-based products
4949
you may have installed, unless you have opted for using the
50-
<filename>postgrespro-std-&majorversion;</filename> quick-install package.
50+
<filename>postgrespro-&edition;-&majorversion;</filename> quick-install package.
5151
</para>
5252
<para>
5353
<application>pg-wrapper</application> is provided as part of the
54-
<filename>postgrespro-std-&majorversion;-client</filename> package.
54+
<filename>postgrespro-&edition;-&majorversion;-client</filename> package.
5555
Once this package is installed, you can find <application>pg-wrapper</application>
5656
in the <filename><replaceable>install-dir</replaceable>/bin</filename>
5757
directory, where <replaceable>install-dir</replaceable> is
58-
<filename>/opt/pgpro/std-&majorversion;</filename>.
58+
<filename>/opt/pgpro/&edition;-&majorversion;</filename>.
5959
</para>
6060
<para>
6161
<application>pg-wrapper</application> must be run as root.
@@ -105,7 +105,7 @@
105105
<title>Notes</title>
106106
<para>
107107
If you are installing <productname>&productname;</productname>
108-
from the <filename>postgrespro-std-&majorversion;</filename> package,
108+
from the <filename>postgrespro-&edition;-&majorversion;</filename> package,
109109
<application>pg-wrapper</application> is invoked automatically.
110110
</para>
111111
<para>

0 commit comments

Comments
 (0)