Isso porque o usuário postgres não tem permissão necessária para ler (listar) o conteúdo do diretório /root/ (o diretório home do usuário root ).
Normalmente, a permissão de /root/ é definida como 0700 com o proprietário como root , portanto ninguém mais, exceto root , pode verificar o conteúdo e, portanto, percorrer mais na árvore de diretórios.
Portanto, mesmo se você definir o proprietário do arquivo /root/mapnik/data/world_merc.shp como usuário postgres , postgres não poderá acessar o arquivo, pois o percurso será bloqueado devido à permissão insuficiente em /root/ .
Em vez de colocar o arquivo em /root/ (e alterar a permissão de /root/ ), escolha a casa postgres (se houver), sua casa ou qualquer lugar que pareça seguro e o usuário postgres tem permissão suficiente para fazer a operação pretendida.