explain output infelicity in psql
От | Andrew Dunstan |
---|---|
Тема | explain output infelicity in psql |
Дата | |
Msg-id | 4B1FFC8D.6070208@dunslane.net обсуждение исходный текст |
Ответы |
Re: explain output infelicity in psql
|
Список | pgsql-hackers |
I have just noticed while checking the EXPLAIN YAML patch that the non-text explain formats are output as a single line with embedded line feeds, while the text format is delivered as a set of text records, one per line. The practical effect of this is that psql decorates the non-text format output with continuation characters: andrew=# explain select count(*) from pg_class where relname ~ 'pg_'; QUERY PLAN ---------------------------------------------------------------- Aggregate (cost=9.67..9.68 rows=1width=0) -> Seq Scan on pg_class (cost=0.00..9.16 rows=204 width=0) Filter: (relname ~ 'pg_'::text) (3 rows) Time: 5.813 ms andrew=# explain (format yaml) select count(*) from pg_class where relname ~ 'pg_'; QUERY PLAN ----------------------------------------- - Plan: + Node Type: Aggregate + Strategy: Plain + Startup Cost: 9.67 + Total Cost: 9.68 + Plan Rows: 1 + Plan Width: 0 + Plans: + - Node Type: Seq Scan + ParentRelationship: Outer + Relation Name: pg_class + Alias: pg_class + Startup Cost: 0.00 + Total Cost: 9.16 + Plan Rows: 204 + Plan Width: 0 + Filter: (relname ~ 'pg_'::text) (1 row) Those + chars at the end of the line are ugly, to say the least, and they make the supposedly machine-readable formats not so machine readable if anyone wanted to c&p the output into a parser. (I'm mildly surprised this hasn't been noticed before). Maybe we need to teach psql not to do this formatting for EXPLAIN output? cheers andrew
В списке pgsql-hackers по дате отправления: