On Mon, Jan 07, 2019 at 01:49:49PM +0900, Amit Langote wrote:
> {
> /*
> - * We currently only support writing to regular tables.
> + * We currently only support writing to regular tables. However, give
> + * a more specific error for partitioned and foreign tables.
> */
> + if (relkind == RELKIND_PARTITIONED_TABLE)
> + ereport(ERROR,
> + (errcode(ERRCODE_WRONG_OBJECT_TYPE),
> + errmsg("\"%s.%s\" is a partitioned table",
> + nspname, relname),
> + errdetail("Partitioned tables are not
> supported as logical replication targets.")));
Could it be possible to avoid a full sentence in the primary error
message? Usually these are avoided:
https://www.postgresql.org/docs/devel/error-style-guide.html
It seems to me that we may want something more like:
Primary: "could not use \"%s.%s\" as logical replication target".
Detail: "Relation %s.%s is a foreign table", "not a table", etc.
The existing error message in CheckSubscriptionRelkind() could also be
better regarding that...
--
Michael