最近项目中数据库服务迁移到U_cloud云服上,有些项目中数据量比较少,在迁移过程;表数据迁移过去;但是序列需要重置下;接下来讲到如何快速获取同步序列的SQL

CREATE OR REPLACE FUNCTION "pg_sync_seq"()
  RETURNS TABLE("sync_seq" text, "last_value" int8) AS $BODY$
DECLARE
  sequence_name varchar(255);
BEGIN
  FOR sequence_name in (select seqrelid :: regclass from pg_sequence)
  LOOP
  RETURN QUERY EXECUTE 'select '|| quote_literal(sequence_name) ||', last_value   from ' || quote_ident(sequence_name);
  END LOOP;
  RETURN;
END
$BODY$
  LANGUAGE plpgsql

二、获取SQL

执行SQL可以获取重置序列的脚本

 select 'select setval('||quote_literal(sync_seq)||', '||last_value||');' from "pg_sync_seq"();

相关文章:

  • 2021-11-20
  • 2021-09-02
  • 2022-12-23
  • 2022-03-09
  • 2022-12-23
  • 2021-12-03
  • 2022-02-18
猜你喜欢
  • 2022-12-23
  • 2021-06-24
  • 2022-12-23
  • 2021-09-11
  • 2022-02-03
  • 2022-01-27
  • 2021-11-20
相关资源
相似解决方案