Skip to content

Power BI startup queries #218

Description

@sunng87

Hi @sunng87 , Below is the DDL/DML and the queries Power BI executes when utilizing a Postgres database using the Postgres npgsql driver. FYI, I believe it was the DISCARD ALL that caused the failure I encountered, but there may be other problems lurking below.

Initial Setup

-- Create table
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    age INTEGER,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Insert sample data
INSERT INTO users (username, email, age) 
VALUES ('john_doe', 'john@example.com', 28);

INSERT INTO users (username, email, age) 
VALUES ('jane_smith', 'jane@example.com', 34);

INSERT INTO users (username, email, age) 
VALUES ('bob_jones', 'bob@example.com', 22);

INSERT INTO users (username, email, age) 
VALUES ('alice_williams', 'alice@example.com', 45);

INSERT INTO users (username, email, age) 
VALUES ('charlie_brown', 'charlie@example.com', 31);

SELECT * FROM USERS;

Power BI Open Connection to Postgres Datasource using npgsql. Clicked on Select Related Tables and then Load

2025-10-06 13:14:24.852 UTC [52] LOG:  execute <unnamed>:
        /*** Load all supported types ***/
        SELECT ns.nspname, a.typname, a.oid, a.typrelid, a.typbasetype,
        CASE WHEN pg_proc.proname='array_recv' THEN 'a' ELSE a.typtype END AS type,
        CASE
          WHEN pg_proc.proname='array_recv' THEN a.typelem
          WHEN a.typtype='r' THEN rngsubtype
          ELSE 0
        END AS elemoid,
        CASE
          WHEN pg_proc.proname IN ('array_recv','oidvectorrecv') THEN 3    /* Arrays last */
          WHEN a.typtype='r' THEN 2                                        /* Ranges before */
          WHEN a.typtype='d' THEN 1                                        /* Domains before */
          ELSE 0                                                           /* Base types first */
        END AS ord
        FROM pg_type AS a
        JOIN pg_namespace AS ns ON (ns.oid = a.typnamespace)
        JOIN pg_proc ON pg_proc.oid = a.typreceive
        LEFT OUTER JOIN pg_class AS cls ON (cls.oid = a.typrelid)
        LEFT OUTER JOIN pg_type AS b ON (b.oid = a.typelem)
        LEFT OUTER JOIN pg_class AS elemcls ON (elemcls.oid = b.typrelid)
        LEFT OUTER JOIN pg_range ON (pg_range.rngtypid = a.oid)
        WHERE
          a.typtype IN ('b', 'r', 'e', 'd') OR         /* Base, range, enum, domain */
          (a.typtype = 'c' AND cls.relkind='c') OR /* User-defined free-standing composites (not table composites) by default */
          (pg_proc.proname='array_recv' AND (
            b.typtype IN ('b', 'r', 'e', 'd') OR       /* Array of base, range, enum, domain */
            (b.typtype = 'p' AND b.typname IN ('record', 'void')) OR /* Arrays of special supported pseudo-types */
            (b.typtype = 'c' AND elemcls.relkind='c')  /* Array of user-defined free-standing composites (not table composites) */
          )) OR
          (a.typtype = 'p' AND a.typname IN ('record', 'void'))  /* Some special supported pseudo-types */
        ORDER BY ord
2025-10-06 13:14:24.855 UTC [52] LOG:  execute <unnamed>: /*** Load field definitions for (free-standing) composite types ***/
        SELECT typ.oid, att.attname, att.atttypid
        FROM pg_type AS typ
        JOIN pg_namespace AS ns ON (ns.oid = typ.typnamespace)
        JOIN pg_class AS cls ON (cls.oid = typ.typrelid)
        JOIN pg_attribute AS att ON (att.attrelid = typ.typrelid)
        WHERE
          (typ.typtype = 'c' AND cls.relkind='c') AND
          attnum > 0 AND     /* Don't load system attributes */
          NOT attisdropped
        ORDER BY typ.oid, att.attnum
2025-10-06 13:14:24.855 UTC [52] LOG:  execute <unnamed>: /*** Load enum fields ***/
        SELECT pg_type.oid, enumlabel
        FROM pg_enum
        JOIN pg_type ON pg_type.oid=enumtypid
        ORDER BY oid, enumsortorder
2025-10-06 13:14:25.093 UTC [52] LOG:  execute <unnamed>: select character_set_name from INFORMATION_SCHEMA.character_sets
2025-10-06 13:14:25.128 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:14:25.130 UTC [52] LOG:  execute <unnamed>: select TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
        from INFORMATION_SCHEMA.tables
        where TABLE_SCHEMA not in ('information_schema', 'pg_catalog')
        order by TABLE_SCHEMA, TABLE_NAME
2025-10-06 13:14:28.960 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:14:28.961 UTC [52] LOG:  execute <unnamed>: select character_set_name from INFORMATION_SCHEMA.character_sets
2025-10-06 13:14:28.962 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:14:28.963 UTC [52] LOG:  execute <unnamed>: select TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
        from INFORMATION_SCHEMA.tables
        where TABLE_SCHEMA not in ('information_schema', 'pg_catalog')
        order by TABLE_SCHEMA, TABLE_NAME
2025-10-06 13:15:11.450 UTC [30] LOG:  checkpoint starting: time
2025-10-06 13:15:12.100 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:12.108 UTC [52] LOG:  execute <unnamed>: select COLUMN_NAME, ORDINAL_POSITION, IS_NULLABLE, case when (data_type like '%unsigned%') then DATA_TYPE || ' unsigned' else DATA_TYPE end as DATA_TYPE
        from INFORMATION_SCHEMA.columns
        where TABLE_SCHEMA = 'public' and TABLE_NAME = 'users'
        order by TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
2025-10-06 13:15:12.135 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:12.141 UTC [52] LOG:  execute <unnamed>: select
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.TABLE_SCHEMA AS FK_TABLE_SCHEMA,
            fkcol.TABLE_NAME AS FK_TABLE_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || fkcol.TABLE_NAME || '_' || 'users' || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where pkcol.TABLE_SCHEMA = 'public' and pkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:12.146 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:12.149 UTC [52] LOG:  execute <unnamed>: select
            pkcol.TABLE_SCHEMA AS PK_TABLE_SCHEMA,
            pkcol.TABLE_NAME AS PK_TABLE_NAME,
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || 'users' || '_' || pkcol.TABLE_NAME || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where fkcol.TABLE_SCHEMA = 'public' and fkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:12.188 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:12.190 UTC [52] LOG:  execute <unnamed>: select i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME as INDEX_NAME, ii.COLUMN_NAME, ii.ORDINAL_POSITION, case when i.CONSTRAINT_TYPE = 'PRIMARY KEY' then 'Y' else 'N' end as PRIMARY_KEY
        from INFORMATION_SCHEMA.table_constraints i inner join INFORMATION_SCHEMA.key_column_usage ii on i.CONSTRAINT_SCHEMA = ii.CONSTRAINT_SCHEMA and i.CONSTRAINT_NAME = ii.CONSTRAINT_NAME and i.TABLE_SCHEMA = ii.TABLE_SCHEMA and i.TABLE_NAME = ii.TABLE_NAME
        where i.TABLE_SCHEMA = 'public' and i.TABLE_NAME = 'users'
        and i.CONSTRAINT_TYPE in ('PRIMARY KEY', 'UNIQUE')
        order by i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME, ii.TABLE_SCHEMA, ii.TABLE_NAME, ii.ORDINAL_POSITION
2025-10-06 13:15:12.221 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:12.221 UTC [52] LOG:  execute <unnamed>: select "$Ordered"."id",
            "$Ordered"."username",
            "$Ordered"."email",
            "$Ordered"."age",
            "$Ordered"."created_at"
        from "public"."users" "$Ordered"
        order by "$Ordered"."id"
        limit 4096
2025-10-06 13:15:20.407 UTC [30] LOG:  checkpoint complete: wrote 89 buffers (0.5%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=8.932 s, sync=0.015 s, total=8.958 s; sync files=49, longest=0.003 s, average=0.001 s; distance=477 kB, estimate=477 kB; lsn=0/17D6E28, redo lsn=0/17D6D98
2025-10-06 13:15:42.727 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:42.729 UTC [52] LOG:  execute <unnamed>: select COLUMN_NAME, ORDINAL_POSITION, IS_NULLABLE, case when (data_type like '%unsigned%') then DATA_TYPE || ' unsigned' else DATA_TYPE end as DATA_TYPE
        from INFORMATION_SCHEMA.columns
        where TABLE_SCHEMA = 'public' and TABLE_NAME = 'users'
        order by TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
2025-10-06 13:15:42.731 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:42.733 UTC [52] LOG:  execute <unnamed>: select
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.TABLE_SCHEMA AS FK_TABLE_SCHEMA,
            fkcol.TABLE_NAME AS FK_TABLE_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || fkcol.TABLE_NAME || '_' || 'users' || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where pkcol.TABLE_SCHEMA = 'public' and pkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:42.735 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:42.737 UTC [52] LOG:  execute <unnamed>: select
            pkcol.TABLE_SCHEMA AS PK_TABLE_SCHEMA,
            pkcol.TABLE_NAME AS PK_TABLE_NAME,
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || 'users' || '_' || pkcol.TABLE_NAME || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where fkcol.TABLE_SCHEMA = 'public' and fkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:57.748 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.749 UTC [52] LOG:  execute <unnamed>: select character_set_name from INFORMATION_SCHEMA.character_sets
2025-10-06 13:15:57.750 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.751 UTC [52] LOG:  execute <unnamed>: select TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
        from INFORMATION_SCHEMA.tables
        where TABLE_SCHEMA not in ('information_schema', 'pg_catalog')
        order by TABLE_SCHEMA, TABLE_NAME
2025-10-06 13:15:57.753 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.754 UTC [52] LOG:  execute <unnamed>: select COLUMN_NAME, ORDINAL_POSITION, IS_NULLABLE, case when (data_type like '%unsigned%') then DATA_TYPE || ' unsigned' else DATA_TYPE end as DATA_TYPE
        from INFORMATION_SCHEMA.columns
        where TABLE_SCHEMA = 'public' and TABLE_NAME = 'users'
        order by TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
2025-10-06 13:15:57.757 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.759 UTC [52] LOG:  execute <unnamed>: select
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.TABLE_SCHEMA AS FK_TABLE_SCHEMA,
            fkcol.TABLE_NAME AS FK_TABLE_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || fkcol.TABLE_NAME || '_' || 'users' || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where pkcol.TABLE_SCHEMA = 'public' and pkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:57.761 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.763 UTC [52] LOG:  execute <unnamed>: select
            pkcol.TABLE_SCHEMA AS PK_TABLE_SCHEMA,
            pkcol.TABLE_NAME AS PK_TABLE_NAME,
            pkcol.COLUMN_NAME as PK_COLUMN_NAME,
            fkcol.COLUMN_NAME as FK_COLUMN_NAME,
            fkcol.ORDINAL_POSITION as ORDINAL,
            fkcon.CONSTRAINT_SCHEMA || '_' || 'users' || '_' || pkcol.TABLE_NAME || '_' || fkcon.CONSTRAINT_NAME as FK_NAME
        from
            (select distinct constraint_catalog, constraint_schema, unique_constraint_schema, constraint_name, unique_constraint_name
                from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS) fkcon
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE fkcol
                on fkcon.CONSTRAINT_SCHEMA = fkcol.CONSTRAINT_SCHEMA
                and fkcon.CONSTRAINT_NAME = fkcol.CONSTRAINT_NAME
                inner join
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE pkcol
                on fkcon.UNIQUE_CONSTRAINT_SCHEMA = pkcol.CONSTRAINT_SCHEMA
                and fkcon.UNIQUE_CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
        where fkcol.TABLE_SCHEMA = 'public' and fkcol.TABLE_NAME = 'users'
                and pkcol.ORDINAL_POSITION = fkcol.ORDINAL_POSITION
        order by FK_NAME, fkcol.ORDINAL_POSITION
2025-10-06 13:15:57.772 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:15:57.774 UTC [52] LOG:  execute <unnamed>: select i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME as INDEX_NAME, ii.COLUMN_NAME, ii.ORDINAL_POSITION, case when i.CONSTRAINT_TYPE = 'PRIMARY KEY' then 'Y' else 'N' end as PRIMARY_KEY
        from INFORMATION_SCHEMA.table_constraints i inner join INFORMATION_SCHEMA.key_column_usage ii on i.CONSTRAINT_SCHEMA = ii.CONSTRAINT_SCHEMA and i.CONSTRAINT_NAME = ii.CONSTRAINT_NAME and i.TABLE_SCHEMA = ii.TABLE_SCHEMA and i.TABLE_NAME = ii.TABLE_NAME
        where i.TABLE_SCHEMA = 'public' and i.TABLE_NAME = 'users'
        and i.CONSTRAINT_TYPE in ('PRIMARY KEY', 'UNIQUE')
        order by i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME, ii.TABLE_SCHEMA, ii.TABLE_NAME, ii.ORDINAL_POSITION
2025-10-06 13:16:01.618 UTC [56] LOG:  execute <unnamed>:
        /*** Load all supported types ***/
        SELECT ns.nspname, a.typname, a.oid, a.typrelid, a.typbasetype,
        CASE WHEN pg_proc.proname='array_recv' THEN 'a' ELSE a.typtype END AS type,
        CASE
          WHEN pg_proc.proname='array_recv' THEN a.typelem
          WHEN a.typtype='r' THEN rngsubtype
          ELSE 0
        END AS elemoid,
        CASE
          WHEN pg_proc.proname IN ('array_recv','oidvectorrecv') THEN 3    /* Arrays last */
          WHEN a.typtype='r' THEN 2                                        /* Ranges before */
          WHEN a.typtype='d' THEN 1                                        /* Domains before */
          ELSE 0                                                           /* Base types first */
        END AS ord
        FROM pg_type AS a
        JOIN pg_namespace AS ns ON (ns.oid = a.typnamespace)
        JOIN pg_proc ON pg_proc.oid = a.typreceive
        LEFT OUTER JOIN pg_class AS cls ON (cls.oid = a.typrelid)
        LEFT OUTER JOIN pg_type AS b ON (b.oid = a.typelem)
        LEFT OUTER JOIN pg_class AS elemcls ON (elemcls.oid = b.typrelid)
        LEFT OUTER JOIN pg_range ON (pg_range.rngtypid = a.oid)
        WHERE
          a.typtype IN ('b', 'r', 'e', 'd') OR         /* Base, range, enum, domain */
          (a.typtype = 'c' AND cls.relkind='c') OR /* User-defined free-standing composites (not table composites) by default */
          (pg_proc.proname='array_recv' AND (
            b.typtype IN ('b', 'r', 'e', 'd') OR       /* Array of base, range, enum, domain */
            (b.typtype = 'p' AND b.typname IN ('record', 'void')) OR /* Arrays of special supported pseudo-types */
            (b.typtype = 'c' AND elemcls.relkind='c')  /* Array of user-defined free-standing composites (not table composites) */
          )) OR
          (a.typtype = 'p' AND a.typname IN ('record', 'void'))  /* Some special supported pseudo-types */
        ORDER BY ord
2025-10-06 13:16:01.622 UTC [56] LOG:  execute <unnamed>: /*** Load field definitions for (free-standing) composite types ***/
        SELECT typ.oid, att.attname, att.atttypid
        FROM pg_type AS typ
        JOIN pg_namespace AS ns ON (ns.oid = typ.typnamespace)
        JOIN pg_class AS cls ON (cls.oid = typ.typrelid)
        JOIN pg_attribute AS att ON (att.attrelid = typ.typrelid)
        WHERE
          (typ.typtype = 'c' AND cls.relkind='c') AND
          attnum > 0 AND     /* Don't load system attributes */
          NOT attisdropped
        ORDER BY typ.oid, att.attnum
2025-10-06 13:16:01.623 UTC [56] LOG:  execute <unnamed>: /*** Load enum fields ***/
        SELECT pg_type.oid, enumlabel
        FROM pg_enum
        JOIN pg_type ON pg_type.oid=enumtypid
        ORDER BY oid, enumsortorder
2025-10-06 13:16:01.860 UTC [56] LOG:  execute <unnamed>: select i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME as INDEX_NAME, ii.COLUMN_NAME, ii.ORDINAL_POSITION, case when i.CONSTRAINT_TYPE = 'PRIMARY KEY' then 'Y' else 'N' end as PRIMARY_KEY
        from INFORMATION_SCHEMA.table_constraints i inner join INFORMATION_SCHEMA.key_column_usage ii on i.CONSTRAINT_SCHEMA = ii.CONSTRAINT_SCHEMA and i.CONSTRAINT_NAME = ii.CONSTRAINT_NAME and i.TABLE_SCHEMA = ii.TABLE_SCHEMA and i.TABLE_NAME = ii.TABLE_NAME
        where i.TABLE_SCHEMA = 'public' and i.TABLE_NAME = 'users'
        and i.CONSTRAINT_TYPE in ('PRIMARY KEY', 'UNIQUE')
        order by i.CONSTRAINT_SCHEMA || '_' || i.CONSTRAINT_NAME, ii.TABLE_SCHEMA, ii.TABLE_NAME, ii.ORDINAL_POSITION
2025-10-06 13:16:01.926 UTC [56] LOG:  statement: DISCARD ALL
2025-10-06 13:16:01.927 UTC [56] LOG:  execute <unnamed>: select "$Ordered"."id",
            "$Ordered"."username",
            "$Ordered"."email",
            "$Ordered"."age",
            "$Ordered"."created_at"
        from "public"."users" "$Ordered"
        order by "$Ordered"."id"
2025-10-06 13:21:02.112 UTC [56] LOG:  statement: DISCARD ALL
2025-10-06 13:21:05.399 UTC [52] LOG:  statement: DISCARD ALL
2025-10-06 13:21:57.952 UTC [69] LOG:  execute <unnamed>: select character_set_name from INFORMATION_SCHEMA.character_sets
2025-10-06 13:21:57.953 UTC [69] LOG:  statement: DISCARD ALL
2025-10-06 13:21:57.955 UTC [69] LOG:  execute <unnamed>: select TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
        from INFORMATION_SCHEMA.tables
        where TABLE_SCHEMA not in ('information_schema', 'pg_catalog')
        order by TABLE_SCHEMA, TABLE_NAME

Please let me know if you need any additional information.

Thanks,
Chris

Originally posted by @chrisfw in #202

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions