Hi, thanks for video instructions. At 3:27 we see that en_US.UTF-8 collation is used. Let's check the difference between ubuntu 16.04 and ubuntu 20.04 glibc behaviour. $ docker run -it --rm ubuntu:16.04 /bin/bash $ apt-get update && \ apt-get -y install locales && \ sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 && \ ( echo "1-1"; echo "11" ) | LC_COLLATE=en_US.UTF-8 sort 11 1-1 $ docker run -it --rm ubuntu:20.04 /bin/bash $ apt-get update && \ apt-get -y install locales && \ sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 && \ ( echo "1-1"; echo "11" ) | LC_COLLATE=en_US.UTF-8 sort 1-1 11 the sorting is different, so text btree indexes will be calculated differently. In result, after replication pgdata with basebackup from ubuntu 16.04 to 20.04, we have just corrupted indexes. So after promotion, we must rebuild indexes. I hope this information will be helpful for you, and save your customers' databases.