Fix Gitlab::Database::PostgresSequence to include shared sequences

The following discussion from !168941 (merged) should be addressed:

  • @morefice started a discussion: (+5 comments)

    question: Should we use our view for this?

    We will need to add .by_seq_name for this and add the metadata info to the view as well. WDYT?

          Gitlab::Database::PostgresSequence.by_seq_name(sequence_name)
    CREATE OR REPLACE VIEW public.postgres_sequences AS
    SELECT 
        seq_pg_class.relname AS seq_name,
        dep_pg_class.relname AS table_name,
        pg_attribute.attname AS col_name,
        pg_sequence.seqmax AS seqmax,
        pg_sequence.seqmin AS seqmin,
        pg_sequence.seqstart AS seqstart
    FROM 
        pg_class seq_pg_class
        JOIN pg_depend ON seq_pg_class.oid = pg_depend.objid
        JOIN pg_class dep_pg_class ON pg_depend.refobjid = dep_pg_class.oid
        JOIN pg_attribute ON dep_pg_class.oid = pg_attribute.attrelid AND pg_depend.refobjsubid = pg_attribute.attnum
        JOIN pg_sequence ON seq_pg_class.oid = pg_sequence.seqrelid
    WHERE 
        pg_depend.classid = 'pg_class'::regclass::oid 
        AND pg_depend.refclassid = 'pg_class'::regclass::oid 
        AND seq_pg_class.relkind = 'S'::"char";