diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 946d5634913..1a70685021d 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -2757,8 +2757,10 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
-1), for lz4 an integer
between 1 and 12 (default 0 for fast compression
mode), and for zstd an integer between
- 1 and 22 (default
- ZSTD_CLEVEL_DEFAULT or 3).
+ ZSTD_minCLevel() (usually -131072)
+ and ZSTD_maxCLevel() (usually 22),
+ (default ZSTD_CLEVEL_DEFAULT or
+ 3).
diff --git a/src/common/compression.c b/src/common/compression.c
index e40ce98ef3a..0c6bb9177b9 100644
--- a/src/common/compression.c
+++ b/src/common/compression.c
@@ -324,8 +324,9 @@ validate_compress_specification(pg_compress_specification *spec)
default_level = 0; /* fast mode */
break;
case PG_COMPRESSION_ZSTD:
- max_level = 22;
#ifdef USE_ZSTD
+ max_level = ZSTD_maxCLevel();
+ min_level = ZSTD_minCLevel();
default_level = ZSTD_CLEVEL_DEFAULT;
#endif
break;