diff --git a/doc/src/sgml/func/func-admin.sgml b/doc/src/sgml/func/func-admin.sgml
index 70d762e7332..14f99094fb2 100644
--- a/doc/src/sgml/func/func-admin.sgml
+++ b/doc/src/sgml/func/func-admin.sgml
@@ -3128,7 +3128,8 @@ SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
The functions shown in can
- be used to enable or disable data checksums in a running cluster.
+ be used to enable or disable data checksums in a running cluster. Use of
+ these functions is restricted to superusers.
Changing data checksums can be done in a cluster with concurrent activity
@@ -3158,7 +3159,7 @@ SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
pg_enable_data_checksums
- pg_enable_data_checksums ( cost_delay int, cost_limit int )
+ pg_enable_data_checksums ( cost_delay int , cost_limit int )
void
@@ -3174,6 +3175,11 @@ SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
If cost_delay and cost_limit are
specified, the process is throttled using the same principles as
Cost-based Vacuum Delay.
+ cost_delay defaults to 0,
+ cost_limit defaults to 100.
+
+
+ This function is restricted to superusers.
@@ -3193,6 +3199,9 @@ SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
stopped validating data checksums, the data checksum state will be
set to off.
+
+ This function is restricted to superusers.
+
diff --git a/doc/src/sgml/images/datachecksums.gv b/doc/src/sgml/images/datachecksums.gv
index dff3ff7340a..f032555db3e 100644
--- a/doc/src/sgml/images/datachecksums.gv
+++ b/doc/src/sgml/images/datachecksums.gv
@@ -1,14 +1,49 @@
-digraph G {
- A -> B [label="SELECT pg_enable_data_checksums()"];
- B -> C;
- D -> A;
- C -> D [label="SELECT pg_disable_data_checksums()"];
- E -> A [label=" --no-data-checksums"];
- E -> C [label=" --data-checksums"];
+digraph "datachecksums_states" {
+ layout=dot;
+ node [label="", shape=box, style=filled, fillcolor=gray, width=1.0, fontname="sans-serif"];
- A [label="off"];
- B [label="inprogress-on"];
- C [label="on"];
- D [label="inprogress-off"];
- E [label="initdb"];
+ m1 [label="initdb", shape=Mdiamond];
+
+ subgraph cluster01 {
+ label="Online Checksums";
+ subgraph agroup1 {
+ rank=same;
+ a1;
+ a3;
+ }
+
+ subgraph agroup2 {
+ rank=same;
+ a2;
+ a4;
+ }
+
+ a1 -> a2;
+ a2 -> a3;
+ a3 -> a4;
+ a4 -> a1;
+
+ a1 [fillcolor=lightblue, label="off"];
+ a2 [fillcolor=lightgreen, label="inprogress-on"];
+ a3 [fillcolor=lightblue, label="on"];
+ a4 [fillcolor=lightgreen, label="inprogress-off"];
+ }
+
+ subgraph cluster05 {
+ label="Offline Checksums";
+ subgraph bgroup2 {
+ rank=same;
+ b1 -> b2;
+ }
+
+ b2 -> b1;
+
+ b1 [fillcolor=lightblue, label="off"];
+ b2 [fillcolor=lightblue, label="on"];
+ }
+
+ m1 -> a1;
+ m1 -> a3;
+ m1 -> b1;
+ m1 -> b2;
}
diff --git a/doc/src/sgml/images/datachecksums.svg b/doc/src/sgml/images/datachecksums.svg
index 8c58f42922e..eee57c393c0 100644
--- a/doc/src/sgml/images/datachecksums.svg
+++ b/doc/src/sgml/images/datachecksums.svg
@@ -1,81 +1,126 @@
-
+
-
-