Skip to content

Commit ae86a5e

Browse files
committed
[Doc] Small fixes from a.lakhin in the docs - typo fixes, replace PostgreSQL with &productname;
1 parent f255954 commit ae86a5e

File tree

8 files changed

+32
-31
lines changed

8 files changed

+32
-31
lines changed

doc/src/sgml/cfs.sgml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55

66
<para>
77
This chapter explains page level compression and encryption in
8-
<productname>PostgreSQL</> database system.
8+
<productname>&productname;</> database system.
99
</para>
1010

1111
<sect1 id="cfs-overview">
1212
<title>Why database compression/encryption may be useful</title>
1313

1414
<para>
1515
Databases are used to store larger number of text and duplicated information. This is why compression of most of databases
16-
can be quite efficient and reduce used storage size 3..5 times. PostgreSQL performs compression of TOAST data, but small
16+
can be quite efficient and reduce used storage size 3..5 times. &productname; performs compression of TOAST data, but small
1717
text fields which fits in the page are not compressed. Also not only heap pages can be compressed, indexes on text keys
1818
or indexes with larger number of duplicate values are also good candidates for compression.
1919
</para>
2020

2121
<para>
22-
PostgreSQL is working with disk data through buffer pool which accumulates most frequently used buffers.
22+
&productname; is working with disk data through buffer pool which accumulates most frequently used buffers.
2323
Interface between buffer manager and file system is the most natural place for performing compression.
2424
Buffers are stored on the disk in compressed form for reducing disk usage and minimizing amount of data to be read.
2525
And in-memory buffer pool contains uncompressed buffers, providing access to the records at the same speed as without
@@ -49,19 +49,19 @@
4949
<listitem>
5050
<para>
5151
When modified buffers are flushed from buffer pool to the disk, they are written to the random locations
52-
on the disk. PostgreSQL cache replacement algorithm makes a decision about throwing away buffer from the pool
52+
on the disk. &productname; cache replacement algorithm makes a decision about throwing away buffer from the pool
5353
based on its access frequency and ignoring its location on the disk. So two subsequently written buffers can be
5454
located in completely different parts of the disk. For HDD seek time is quite large - about 10msec, which corresponds
5555
to 100 random writes per second. And speed of sequential write can be about 100Mb/sec, which corresponds to
5656
10000 buffers per second (100 times faster). For SSD gap between sequential and random write speed is smaller,
5757
but still sequential writers are more efficient. How it relates to data compression?
58-
Size of buffer in PostgreSQL is fixed (8kb by default). Size of compressed buffer depends on the content of the buffer.
58+
Size of buffer in &productname; is fixed (8kb by default). Size of compressed buffer depends on the content of the buffer.
5959
So updated buffer can not always fit in its old location on the disk. This is why we can not access pages directly
6060
by its address. Instead of it we have to use map which translates logical address of the page to its physical location
6161
on the disk. Definitely this extra level of indirection adds overhead. But in most cases this map can fit in memory,
6262
so page lookup is nothing more than just accessing array element. But presence of this map also have positive effect:
6363
we can now write updated pages sequentially, just updating their map entries.
64-
PostgreSQL is doing much to avoid "write storm" intensive flushing of data to the disk when buffer pool space is
64+
&productname; is doing much to avoid "write storm" intensive flushing of data to the disk when buffer pool space is
6565
exhausted. Compression allows to significantly reduce disk load.
6666
</para>
6767
</listitem>
@@ -72,7 +72,7 @@
7272
Another useful feature which can be combined with compression is database encryption.
7373
Encryption allows to protected you database from unintended access (if somebody stole your notebook, hard drive or make
7474
copy from it, thief will not be able to extract information from your database if it is encrypted).
75-
PostgreSQL provide contrib module pgcrypto, allowing you to encrypt some particular types/columns.
75+
&productname; provide contrib module pgcrypto, allowing you to encrypt some particular types/columns.
7676

7777
But safer and convenient way is to encrypt all data in the database. Encryption can be combined with compression.
7878
Data should be stored at disk in encrypted form and decrypted when page is loaded in buffer pool.
@@ -81,7 +81,7 @@
8181
</para>
8282

8383
<para>
84-
Why do we need to perform compression/encryption in PostgreSQL and do not use correspondent features of underlying file
84+
Why do we need to perform compression/encryption in &productname; and do not use correspondent features of underlying file
8585
systems? First answer is that there are not so much file system supporting compression and encryption for all OSes.
8686
And even if such file systems are available, it is not always possible/convenient to install such file system just
8787
to compress/protect your database. Second question is that performing compression at database level can be more efficient,
@@ -91,10 +91,10 @@
9191
</sect1>
9292

9393
<sect1 id="cfs-implementation">
94-
<title>How compression/encryption are integrated in PostgreSQL</title>
94+
<title>How compression/encryption are integrated in &productname;</title>
9595

9696
<para>
97-
To improve efficiency of disk IO, PostgreSQL is working with files through buffer manager, which pins in memory
97+
To improve efficiency of disk IO, &productname; is working with files through buffer manager, which pins in memory
9898
most frequently used pages. Each page is fixed size (8kb by default). But if we compress page, then
9999
its size will depend on its content. So updated page can require more (or less) space than original page.
100100
So we may not always perform in-place update of the page. Instead of it we have to locate new space for the page and somehow release
@@ -137,7 +137,7 @@
137137
</para>
138138

139139
<para>
140-
PostgreSQL stores relation in a set of files, size of each file is not exceeding 2Gb. Separate page map is constructed for each file.
140+
&productname; stores relation in a set of files, size of each file is not exceeding 2Gb. Separate page map is constructed for each file.
141141
Garbage collection in CFS is done by several background workers. Number of this workers and pauses in their work can be
142142
configured by database administrator. These workers are splitting work based on inode hash, so them do not conflict with each other.
143143
Each file is proceeded separately. The files is blocked for access at the time of garbage collection but complete relation is not
@@ -150,9 +150,9 @@
150150
</para>
151151

152152
<para>
153-
CFS can be build with several compression libraries: PostgreSQL lz, zlib, lz4, snappy, lzfse...
153+
CFS can be build with several compression libraries: &productname; lz, zlib, lz4, snappy, lzfse...
154154
But this is build time choice: it is not possible now to dynamically choose compression algorithm.
155-
CFS stores information about the compression algorithm used in a tablespace and produces error if PostgreSQL is built with different
155+
CFS stores information about the compression algorithm used in a tablespace and produces error if &productname; is built with different
156156
library.
157157
</para>
158158

doc/src/sgml/jsquery.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
<title>Installation</title>
5353
<para>
5454
When you installed <productname>Postgres Pro</productname> distribution, jsquery is available
55-
as a contrib moudle. Install contrib modules (postgrespro-contrib
55+
as a contrib module. Install contrib modules (postgrespro-contrib
5656
package in the binary distribution for Linux, or make -C contrib
5757
install if you are building from source), then start psql shell
5858
and type

doc/src/sgml/mchar.sgml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
It implements types MCHAR and MVARCHAR, which are bug-to-bug
1616
compatible with MSSQL CHAR and VARCHAR respectively. Additionaly,
1717
these types use libicu for comparation and case conversion, so their
18-
behavoir is identical across different operating system.
18+
behavior is identical across different operating system.
1919
</para>
2020
<para>
2121
PostgresPro also includes <xref linkend="citext"> extension which
2222
provides types similar to MCHAR. But this extension doesn't emulate
23-
MS-SQL behavoir concerning end-of-value whitespace.
23+
MS-SQL behavior concerning end-of-value whitespace.
2424
</para>
2525
<para>
26-
Differences from PostgreSQL standard CHAR and VARCHAR are:
26+
Differences from &productname; standard CHAR and VARCHAR are:
2727
</para>
2828
<itemizedlist>
2929
<listitem>

doc/src/sgml/pghintplan.sgml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<sect2 id="pg-hint-plan-synopsis">
1111
<title>Synopsis</title>
1212
<para>
13-
PostgreSQL uses cost-based optimizer, which utilizes data
13+
&productname; uses cost-based optimizer, which utilizes data
1414
statistics, not static rules. The planner (optimizer) esitimates
1515
costs of each possible execution plans for a SQL statement then
1616
the execution plan with the lowest cost finally be executed. The
@@ -194,7 +194,7 @@ postgres=#
194194
Simply run <quote>make</quote> in the top of the source tree,
195195
then <quote>make install</quote> as appropriate user. The PATH
196196
environment variable should be set properly for the target
197-
PostgreSQL for this process.
197+
&productname; for this process.
198198
</para>
199199
<programlisting>
200200
$ tar xzvf pg_hint_plan-1.x.x.tar.gz

doc/src/sgml/pgpathman.sgml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<emphasis role="strong">Partitioning</emphasis> means splitting
1414
one large table into smaller pieces. Each row in such table is
1515
moved to a single partition according to the partitioning key.
16-
PostgreSQL supports partitioning via table inheritance: each
16+
&productname; supports partitioning via table inheritance: each
1717
partition must be created as a child table with CHECK CONSTRAINT.
1818
For example:
1919
</para>
@@ -127,7 +127,7 @@ CREATE EXTENSION pg_pathman;
127127
<emphasis role="strong">Important:</emphasis> Don't forget to
128128
set the <literal>PG_CONFIG</literal> variable in case you want
129129
to test <literal>pg_pathman</literal> on a custom build of
130-
PostgreSQL. Read more
130+
&productname;. Read more
131131
<ulink url="https://wiki.postgresql.org/wiki/Building_and_Installing_PostgreSQL_Extension_Modules">here</ulink>.
132132
</para>
133133
</blockquote>
@@ -353,7 +353,7 @@ set_enable_parent(relation REGCLASS, value BOOLEAN)
353353
</programlisting>
354354
<para>
355355
Include/exclude parent table into/from query plan. In original
356-
PostgreSQL planner parent table is always included into query
356+
&productname; planner parent table is always included into query
357357
plan even if it's empty which can lead to additional overhead.
358358
You can use <literal>disable_parent()</literal> if you are never
359359
going to use parent table as a storage. Default value depends on
@@ -984,7 +984,7 @@ WHERE id = any (SELECT * FROM some_table limit 4);
984984
</programlisting>
985985
<para>
986986
All sections and data will remain unchanged and will be handled
987-
by the standard PostgreSQL inheritance mechanism.
987+
by the standard &productname; inheritance mechanism.
988988
</para>
989989
</sect3>
990990
</sect2>

doc/src/sgml/plantuner.sgml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,21 @@
1111
Whether somebody think it's bad or not, but sometime it's very
1212
interesting to be able to control planner (provide hints, which tell
1313
optimizer to ignore its algorithm in part), which is currently
14-
impossible in PostgreSQL. Oracle, for example, has over 120 hints,
14+
impossible in &productname; (and PostgreSQL).
15+
Oracle, for example, has over 120 hints,
1516
and Microsoft SQL Server also supports hints.
1617
</para>
1718
<para>
1819
This first version of plantuner provides a possibility to hide
19-
specified indexes from PostgreSQL planner, so it will not use them.
20+
specified indexes from &productname; planner, so it will not use them.
2021
</para>
2122
<para>
2223
There are many situations when developer want to temporarily disable
2324
specific index(es), without dropping them, or to instruct planner to
2425
use specific index.
2526
</para>
2627
<para>
27-
Next, for some workload PostgreSQL could be too pessimistic for
28+
Next, for some workload &productname; could be too pessimistic for
2829
newly created tables and assumes much more rows in table than
2930
it actually has. If plantuner.fix_empty_table GUC variable is set
3031
to true then module will set to zero the number of pages/tuples of

doc/src/sgml/ref/waitlsn.sgml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!--
22
doc/src/sgml/ref/waitlsn.sgml
3-
PostgreSQL documentation
3+
&productname; documentation
44
-->
55

66
<refentry id="SQL-WAITLSN">
@@ -37,7 +37,7 @@ WAITLSN <replaceable class="PARAMETER">'LSN'</replaceable> [ , <replaceable clas
3737
<para>
3838
<command>WAITLSN</command> provides a simple
3939
interprocess <acronym>LSN</> wait mechanism for a backends on slave
40-
in master-slave replication scheme on <productname>PostgreSQL</productname> database.
40+
in master-slave replication scheme on <productname>&productname;</productname> database.
4141
</para>
4242
</refsect1>
4343

doc/src/sgml/rowtypes.sgml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ INSERT INTO mytab (complex_col.r, complex_col.i) VALUES(1.1, 2.2);
260260
</para>
261261

262262
<para>
263-
In <productname>PostgreSQL</>, a reference to a table name (or alias)
263+
In <productname>&productname;</>, a reference to a table name (or alias)
264264
in a query is effectively a reference to the composite value of the
265265
table's current row. For example, if we had a table
266266
<structname>inventory_item</> as shown
@@ -306,7 +306,7 @@ SELECT c.* FROM inventory_item c;
306306
<programlisting>
307307
SELECT c.name, c.supplier_id, c.price FROM inventory_item c;
308308
</programlisting>
309-
<productname>PostgreSQL</> will apply this expansion behavior to
309+
<productname>&productname;</> will apply this expansion behavior to
310310
any composite-valued expression, although as shown <link
311311
linkend="rowtypes-accessing">above</link>, you need to write parentheses
312312
around the value that <literal>.*</> is applied to whenever it's not a
@@ -322,7 +322,7 @@ SELECT (myfunc(x)).a, (myfunc(x)).b, (myfunc(x)).c FROM some_table;
322322

323323
<tip>
324324
<para>
325-
<productname>PostgreSQL</> handles column expansion by
325+
<productname>&productname;</> handles column expansion by
326326
actually transforming the first form into the second. So, in this
327327
example, <function>myfunc()</> would get invoked three times per row
328328
with either syntax. If it's an expensive function you may wish to

0 commit comments

Comments
 (0)