Inside the SQL script you can use the following special comments

-- HOR_LONG_OPERATION_START
-- HOR_LONG_OPERATION_END

to enclose the sql instructions that could be long.
When the code in the between of the comments is runt during the database update, the user will see a warning message about the long operation.

Example:
...
alter table "tDocumentsFiles" add column "File_oid" oid;
-- HOR_LONG_OPERATION_START
create or replace function "fixdata" ()
returns boolean
as $$
BEGIN
  declare
  fDoc "tDocumentsFiles"."ID_Document"%TYPE;
  fFil "tDocumentsFiles"."ID_File"%TYPE;
  curFiles cursor for select "ID_Document","ID_File" from "tDocumentsFiles" for update;
  begin
  open curFiles;
  loop
    fetch curFiles into fDoc, fFil;
    if (fDoc is null) then
      exit;
    end if;
    -- I create the large object from the content
    update "tDocumentsFiles"
    set "File_oid"=(select lo_from_bytea(0,(select "Content" from "tDocumentsFiles" where "ID_Document"=fDoc and "ID_File"=fFil)))
    where "ID_Document"=fDoc and "ID_File"=fFil;
  End loop;
  close curFiles;
	return true;
  End;
END
$$
LANGUAGE plpgsql;
select "fixdata"();
-- HOR_LONG_OPERATION_END
drop function "fixdata"();
...
