Monitoring Service cannot generate statistics and repeats errors

I use openfire 3.9.3. and monitoring service 1.4.2. It repeats the errors below. I reinstalled the plugin and didn’t resolve the problem.

My environment here:

Java Version:
1.8.0_05 Oracle Corporation – OpenJDK 64-Bit Server VM
Appserver:
jetty/7.x.y-SNAPSHOT
OS / Hardware:
FreeBSD 9.3/ amd64
Database and Version:
PostgreSQL 9.3.4
JDBC Driver:
PostgreSQL Native Driver
JDBC Driver Version:
PostgreSQL 9.3 JDBC4 (build 1101)
DB Connection URL:
jdbc:postgresql://localhost:5432/postgres
DB User:
openfire
Transaction Support:
Yes
Transaction Isolation Level:
TRANSACTION_READ_COMMITTED
Supports multiple connections open at once:
Yes

The errors log here:

2014.10.01 04:50:49 org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic conversations

java.io.IOException: The underlying backend has no canonical path

at org.jrobin.core.RrdDb.getCanonicalPath(Unknown Source)

at org.jrobin.core.Header.validateHeader(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

2014.10.01 04:51:30 org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic sessions

java.io.IOException: The underlying backend has no canonical path

at org.jrobin.core.RrdDb.getCanonicalPath(Unknown Source)

at org.jrobin.core.Header.validateHeader(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

2014.10.01 04:51:35 org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic muc_occupants

java.io.IOException: The underlying backend has no canonical path

at org.jrobin.core.RrdDb.getCanonicalPath(Unknown Source)

at org.jrobin.core.Header.validateHeader(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jrobin.core.RrdDb.(Unknown Source)

at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

I think the error is about the PostgreSQL server.

PGSQL is more rigorous than MySQL, all know.