for t in $(echo \\dt | psql $BASE |grep public |awk '{print $3}'); do
echo "SELECT setval('$t"_id_seq"', (select max(id)+1 from $t), true);";
done | psql $BASE
Суть проблемы в том, что при репиликации таблицы значение последовательности таблицы автоматически не меняется, по этому после отключения репликации значение last_insert_id будет отставать от реального количество записей в таблице
#5 2023-10-05 13:39:44
гость
А можно и в одну строчку echo \\dt | psql $BASE |grep public |awk '{print "SELECT setval(\x27"$3"_id_seq\x27, (select max(id)+1 from "$3"), true);"}' | psql $BASE