datafusion-contrib / datafusion-contrib/datafusion-postgres
Power BI startup queries
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 160
- Forks
- 44
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 14
Description
Hi @sunng87 , Below is the
DDL/DMLand the queriesPower BIexecutes when utilizing aPostgresdatabase using thePostgres npgsqldriver. FYI, I believe it was theDISCARD ALLthat 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 onSelect Related Tablesand thenLoad2025-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_NAMEPlease let me know if you need any additional information.
Thanks,
Chris
Originally posted by @chrisfw in #202
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue provides PostgreSQL setup SQL and Power BI startup logs, but names no repository files or tests. Reproduce the connection and metadata queries, starting with the reported DISCARD ALL failure; done means Power BI can open the PostgreSQL datasource, inspect the users table, and load its data successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- postgresql, rust
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100