sql >> Databasteknik >  >> RDS >> PostgreSQL

Få en lista över alla använda tabeller i en Postgresql SELECT-fråga

Försök:

create or replace function get_query_tables(p_query text) returns text[] language plpgsql as $$
declare
  x xml;
begin
  execute 'explain (format xml) ' || p_query into x;
  return xpath('//explain:Relation-Name/text()', x, array[array['explain', 'http://www.postgresql.org/2009/explain']])::text[];
end $$;

select get_query_tables('your query here');

dbfiddle



  1. MYSQL okänd klausul join kolumn i nästa join

  2. Är Change Data Capture-prestandaförlust begränsad till CDC-aktiverade tabeller?

  3. kan inte få VISSA sessionsvariabler över sidor

  4. db.create_all() 'NoneType'-objektet har inget attribut 'drivername'