hi.
generally COPY TO``COPY table`` is faster than ``COPY (select * from table)``.
in BeginCopyTo. we have
"""
else if (rel->rd_rel->relkind == RELKIND_MATVIEW)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("cannot copy from materialized view \"%s\"",
RelationGetRelationName(rel)),
errhint("Try the COPY (SELECT ...) TO variant.")));
"""
Since materialized views have physical storage,
we can make materialized views also using COPY table_name, instead of
COPY(query).
Some simple tests show around %3.7 or 4.3% speed up.