Skip to content

Power BI startup queries #218

@sunng87

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

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