Capítulo 37. O esquema de informações

Índice

37.1. O esquema
37.2. Tipos de dados
37.3. information_schema_​catalog_name
37.4. administrable_role_​authorizations
37.5. applicable_roles
37.6. attributes
37.7. character_sets
37.8. check_constraint_​routine_usage
37.9. check_constraints
37.10. collations
37.11. collation_character_​set_applicability
37.12. column_column_​usage
37.13. column_domain_​usage
37.14. column_options
37.15. column_privileges
37.16. column_udt_usage
37.17. columns
37.18. constraint_column_​usage
37.19. constraint_table_​usage
37.20. data_type_​privileges
37.21. domain_constraints
37.22. domain_udt_usage
37.23. domains
37.24. element_types
37.25. enabled_roles
37.26. foreign_data_​wrapper_options
37.27. foreign_data_wrappers
37.28. foreign_server_​options
37.29. foreign_servers
37.30. foreign_table_​options
37.31. foreign_tables
37.32. key_column_​usage
37.33. parameters
37.34. referential_constraints
37.35. role_column_grants
37.36. role_routine_​grants
37.37. role_table_​grants
37.38. role_udt_grants
37.39. role_usage_grants
37.40. routine_column_usage
37.41. routine_privileges
37.42. routine_routine_​usage
37.43. routine_sequence_​usage
37.44. routine_table_usage
37.45. routines
37.46. schemata
37.47. sequences
37.48. sql_features
37.49. sql_implementation_info
37.50. sql_parts
37.51. sql_sizing
37.52. table_constraints
37.53. table_privileges
37.54. tables
37.55. transforms
37.56. triggered_update_​columns
37.57. triggers
37.58. udt_privileges
37.59. usage_privileges
37.60. user_defined_types
37.61. user_mapping_​options
37.62. user_mappings
37.63. view_column_usage
37.64. view_routine_usage
37.65. view_table_​usage
37.66. views

O esquema de informações consiste em um conjunto de visões que contêm informações sobre os objetos definidos no banco de dados corrente. O esquema de informações é definido no padrão SQL [167] e, portanto, pode-se esperar que seja portável e permaneça estável — diferentemente dos catálogos do sistema, que são específicos do PostgreSQL, e são modelados segundo questões de implementação. Entretanto, as visões do esquema de informações não contêm informações sobre recursos específicos do PostgreSQL; para saber mais sobre esses recursos, é necessário consultar os catálogos do sistema, ou outras visões específicas do PostgreSQL.

Nota

Ao consultar o banco de dados em busca de informações sobre restrição, é possível que uma consulta compatível com o padrão, que se espera retornar uma linha, retorne várias. Isso ocorre porque o padrão SQL exige que os nomes das restrições sejam únicos em um esquema, mas o PostgreSQL não impõe essa restrição. Os nomes de restrições gerados automaticamente pelo PostgreSQL evitam duplicidades no mesmo esquema, mas os usuários podem especificar nomes duplicados.

Esse problema pode ocorrer ao consultar visões do esquema de informações como check_constraint_routine_usage, check_constraints, domain_constraints, e referential_constraints. Algumas outras visões têm problemas semelhantes, mas contêm o nome da tabela para ajudar a distinguir linhas duplicadas como, por exemplo, constraint_column_usage, constraint_table_usage, e table_constraints.

Referências externas

MySQL Information Schema
SQL Server 2022 – System Information Schema Views (Transact-SQL)
IBM i – ANS and ISO catalog views
SingleStoreDB – Information Schema View List


[167] As visões do Esquema de Informações (Information Schema) são visões de tabelas definidas em termos das tabelas-base do Esquema de Definições (Definition Schema). O único propósito do Esquema de Definições é fornecer um modelo de dados para apoiar o Esquema de Informações, e auxiliar na sua compreensão. Uma implementação SQL não precisa fazer mais do que simular a existência do Esquema de Definições, conforme visto através das visões do Esquema de Informações. (ISO/IEC 9075-2:1999 (E)) (N. T.)

Contato

CSS válido!