Alvaro Herrera wrote: > Cristiano Duarte wrote: > >> SQL table aliases doesn't help locating the real place where the table >> is. If I have a table named "test" at the schema "place" and I do: >> >> "EXPLAIN SELECT * FROM place.test mytest" >> >> I will get: >> >> "Seq Scan on test mytest" >> >> With this output I know that "mytest" is an alias to "test", and that's >> great, much helpful than aliases only, but, where is "test"? > > Since you created the mytest alias, you sure know where it's pointing > to. In fact I didn't create the alias, I've got the query already made from a user function call, and now I have to know where the table is located.
Also, the user may pass a query without the schema name and even on this scenario, I need to know the schema name and the "real" table name. > > In fact I'd argue that this should instead display > Seq Scan on mytest I agree with you if EXPLAIN should only be executed interactivelly(psql, pgadmin3, etc). But, since you can execute EXPLAIN as a regular query to the database, you may be "explaining" an user supplied query, and doing so, there is no way to previously know what the aliases mean. > > >> I don't see too much harm if the output was: >> >> "Seq Scan on place.test mytest" > > Not much harm there, but there will be plenty harm on other node types > where the output is already too wide. Jim C. Nasby suggested a verbosity level to EXPLAIN, using "VERBOSE". It may solve this issue without harming other node types where the output is already too wide. Regards, Cristiano Duarte ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster