I need to find what tables have been changed in the last period
You will need dynamic SQL for that. For example a table function, that loops through the table names in the schema, build each query, execute them and return their results.

CREATE 
 OR REPLACE FUNCTION xmins
                     (_schemaname name DEFAULT 'public')
                     RETURNS TABLE (tablename name,
                                    maxxmin xid)
AS
$$
DECLARE
  r RECORD;
BEGIN
  FOR r IN (SELECT t.tablename
                   FROM pg_catalog.pg_tables t
                   WHERE t.schemaname = _schemaname) LOOP
    RETURN QUERY EXECUTE '
SELECT ''' || r.tablename || '''::name,
       max(xmin::text::integer)::text::xid
       FROM ' || r.tablename || ';';
  END LOOP;

  RETURN;
END;
$$
LANGUAGE plpgsql;

SELECT * FROM xmins();