diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 736eb67dfffbbe2110b86b63aa93108a75c5a1b6..c363949b7c5f7317e8f6b215387ec1a2844f489f 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -14069,6 +14069,16 @@ postgres=# select pg_start_backup('label_goes_here');
     of the transaction log file currently in use.
    </para>
 
+   <para>
+    <function>pg_create_restore_point</> creates a named transaction log
+    record that can be used as recovery target, and returns the corresponding
+    transaction log location.  The given name can then be used with
+    <xref linkend="recovery-target-name"> to specify the point up to which
+    recovery will proceed.  Avoid creating multiple restore points with the
+    same name, since recovery will stop at the first one whose name matches
+    the recovery target.
+   </para>
+
    <para>
     <function>pg_current_xlog_location</> displays the current transaction log write
     location in the same format used by the above functions.  Similarly,
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 3ba1f29197f2ca595117e8ac1a9447b35062b52c..b4eb4ac2cce0d6281be5750bbc3d300b86448356 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -8144,6 +8144,10 @@ XLogRestorePoint(const char *rpName)
 
 	RecPtr = XLogInsert(RM_XLOG_ID, XLOG_RESTORE_POINT, &rdata);
 
+	ereport(LOG,
+			(errmsg("restore point \"%s\" created at %X/%X",
+					rpName,	RecPtr.xlogid, RecPtr.xrecoff)));
+
 	return RecPtr;
 }