Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2015, 08:33
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Información FAQ - PostgreSQL

Ver los comentarios de los schemas
Aporte de @huesos52.

Código SQL:
Ver original
  1. SELECT
  2. CASE
  3.     WHEN nspname LIKE E'pg\_temp\_%' THEN 1
  4.     WHEN (nspname LIKE E'pg\_%') THEN 0  
  5.     ELSE 3
  6. END AS nsptyp, nsp.nspname, nsp.oid, pg_get_userbyid(nspowner)
  7.     AS namespaceowner,
  8.     nspacl, description,  
  9.     has_schema_privilege(nsp.oid, 'CREATE') AS cancreate
  10. FROM pg_namespace nsp
  11. LEFT OUTER JOIN pg_description des ON des.objoid=nsp.oid  
  12. WHERE NOT ((nspname = 'pg_catalog' AND EXISTS
  13. (SELECT 1 FROM pg_class
  14.     WHERE relname = 'pg_class'
  15.     AND relnamespace = nsp.oid LIMIT 1)) OR  
  16. (nspname = 'information_schema' AND
  17.     EXISTS (SELECT 1 FROM pg_class
  18.             WHERE relname = 'tables'
  19.             AND relnamespace = nsp.oid LIMIT 1)) OR  
  20. (nspname LIKE '_%' AND
  21.     EXISTS (SELECT 1 FROM pg_proc
  22.             WHERE proname='slonyversion'
  23.             AND pronamespace = nsp.oid LIMIT 1)) OR  
  24. (nspname = 'dbo' AND
  25.     EXISTS (SELECT 1 FROM pg_class
  26.             WHERE relname = 'systables'
  27.             AND relnamespace = nsp.oid LIMIT 1)) OR  
  28. (nspname = 'sys' AND
  29.     EXISTS (SELECT 1 FROM pg_class
  30.             WHERE relname = 'all_tables'
  31.             AND relnamespace = nsp.oid LIMIT 1))
  32. )
  33. AND nspname NOT LIKE E'pg\_temp\_%'
  34. AND nspname NOT LIKE E'pg\_toast_temp\_%'
  35. ORDER BY 1, nspname
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)