AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[information-schema](dba)

Martin Hope
Daniel L. VanDenBosch
Asked: 2022-06-30 12:31:49 +0800 CST

Maneira mais rápida de consultar nomes de colunas de uma tabela

  • -3

Estou procurando a maneira mais rápida de consultar uma lista de colunas de uma determinada tabela em um banco de dados. Percebo que a INFORMATION_SCHEMA.columnsexibição existe no Microsoft SQL Server.

No entanto, no PostgreSQL, lembro-me de usar o INFORMATION_SCHEMA.columnspara obter uma lista de colunas de uma tabela específica e, por meio de experimentação, se bem me lembro, achei o seguinte mais rápido do que usar o esquema de informações:

    SELECT *
    FROM pg_catalog.pg_tables
    WHERE schemaname != 'pg_catalog' 
    AND schemaname != 'information_schema'; 

Por experiência pessoal, a consulta pode levar 10 ms em uma tabela de objetos, mas 200 ms no esquema de informações.

O SQL Server tem uma maneira equivalente mais rápida de obter a lista de colunas de uma determinada tabela como o PostgreSQL?

sql-server information-schema
  • 1 respostas
  • 59 Views
Martin Hope
Eyal leshem
Asked: 2022-03-01 12:59:04 +0800 CST

Posso juntar a saída de consultas "Describe" com outras tabelas no floco de neve

  • -1

Estou tentando usar a tabela Descrever de maneira mais complexa, como juntar com outras tabelas ou outra manipulação de sql.

Por outro lado, parece que o floco de neve não aceita a tabela Descrever como subconsulta.

como exemplo, isso é produzir erro de sintaxe

select * from (DESC TABLE my_table) // syntax error line 1 at position 12 unexpected 'TABLE'.

Há alguma maneira de fazer isso?

(usar o information_schema não é uma opção, pois é muito lento)

information-schema snowflake
  • 1 respostas
  • 115 Views
Martin Hope
Federico Razzoli
Asked: 2021-11-14 12:58:06 +0800 CST

O que é mais rápido: pg_catalog ou information_schema?

  • 1

Eu entendo as diferenças de alto nível entre pg_cataloge information_schema.

Mas, em muitos casos, uma ferramenta pode optar por usar qualquer um deles. E eu estou querendo saber se existem razões de desempenho por que devemos preferir um ou outro. Espera-se que as consultas sejam mais rápidas em um deles? Funcionam da mesma forma em termos de fechaduras?

postgresql information-schema
  • 1 respostas
  • 786 Views
Martin Hope
Ivan Voras
Asked: 2020-09-29 04:32:35 +0800 CST

Como inspecionar a estrutura de uma visão no esquema de informações no PostgreSQL?

  • 1

Existe uma maneira de descobrir a estrutura de uma exibição de maneira semelhante à forma como as tabelas são descritas pelas entradas em information_schema.columns? Eu também posso usar as pg_*tabelas.

Em outras palavras, semelhante a como psqltem \dque descreve as estruturas de ambas as tabelas e visualizações, gostaria de acessar essas informações por meio de consultas SQL.

postgresql information-schema
  • 1 respostas
  • 223 Views
Martin Hope
Subrata Das
Asked: 2019-03-24 06:00:42 +0800 CST

Por que o valor da coluna NUMERIC_SCALE na tabela INFORMATION_SCHEMA.COLUMNS para DATA_TYPE='double' é NULL?

  • 1

Eu criei uma coluna cujo data_type é DOUBLE .

alter table my_table add column my_column double;

Quando perguntei sobre esta coluna na tabela information_schema.COLUMNS , descobri que o NUMERIC_SCALE para esta coluna é NULL ?

select DATA_TYPE,
NUMERIC_PRECISION,
NUMERIC_SCALE

from information_schema.columns

where table_schema = 'my_schema'
and table_name = 'my_table'
and column_name = 'my_column'

+-----------+-------------------+---------------+
| DATA_TYPE | NUMERIC_PRECISION | NUMERIC_SCALE |
+-----------+-------------------+---------------+
| double    |                22 |          NULL |
+-----------+-------------------+---------------+

Alguém pode explicar esse comportamento?

mysql information-schema
  • 1 respostas
  • 1042 Views
Martin Hope
Racer SQL
Asked: 2018-12-05 04:39:06 +0800 CST

Information_Schema no oráculo?

  • 1

Sou um DBA do SQL Server e gosto de mexer com Oracle aqui e ali.

Eu posso ver com select * from information_Schema.columnstudo sobre uma mesa (tudo que eu preciso agora).

Existe uma maneira de listar essas informações em um Oracle Schema?

oracle information-schema
  • 2 respostas
  • 3027 Views
Martin Hope
devuxer
Asked: 2018-05-02 10:06:50 +0800 CST

Por que information_schema tem cadeias de caracteres "YES" e "NO" em vez de booleanos?

  • 7

Fui pego de surpresa ao descobrir que a is_nullablecoluna para esta consulta é digitada como character varying (3)em vez de boolean:

select
    column_name,
    data_type,
    is_nullable
from
    information_schema.columns
where
    table_schema = 'public';

Percebi que algumas outras colunas usam "SIM"/"NÃO" também. Qual é a razão para isso? Meu pensamento inicial era que talvez outros valores além de "YES" e "NO" sejam possíveis, justificando algo diferente de a boolean, mas não vi nenhum exemplo disso no meu banco de dados atual.

postgresql information-schema
  • 1 respostas
  • 1661 Views
Martin Hope
DdD
Asked: 2018-02-18 14:18:29 +0800 CST

Information_schema aparecendo no slow_log

  • 1

Estou descobrindo que meu information_schema continua executando esta consulta

SELECT engine, COUNT(*) as n FROM information_schema.tables WHERE engine is not null GROUP BY engine

Que parece sempre aparecer no slow_log, parece ser executado a cada 4-5 segundos; com um tempo de consulta de 10 segundos.

Estou usando o Google Cloud SQL.

Existe uma maneira de impedir que isso ocorra - ou melhor, o que continua a acioná-lo? Eu li a documentação do MySQL no information_Schema, mas não consegui descobrir por que isso estava sendo chamado.

obrigada

mysql-5.7 information-schema
  • 1 respostas
  • 69 Views
Martin Hope
as.beaulieu
Asked: 2018-01-19 10:58:39 +0800 CST

colunas de consulta do catálogo do sistema postgres da tabela

  • 5

Estou construindo um teste de integração em um aplicativo que provisiona um banco de dados para um usuário. O usuário criado para ele não é um superusuário, e não tem acesso ao schema_information.tables pois quando tento o seguinte script:

SELECT table_name
FROM information_schema.tables
WHERE table_schema='{schema}'

Recebo um retorno de 0, como deveria, pois esse usuário não tem permissão.

Estou tentando consultar o banco de dados para verificar as tabelas e as colunas criadas. Posso obter a lista de nomes de tabelas através do catálogo do sistema com o seguinte script:

SELECT tablename
FROM pg_catalog.pg_tables
WHERE schemaname = '{schema}'

E isso gera os nomes das tabelas do jeito que eu quero:

empresa, localização, pessoa, etc...

Não consigo encontrar o script com o catálogo do sistema para encontrar os nomes das colunas ( E como bônus, o tipo de dados ) de cada tabela. Até agora tentei o seguinte:

SELECT attname, format_type(atttypid, atttypmod) AS type
FROM pg_attribute
WHERE  attrelid = 'business'

e aqui está o erro:

ERROR:  invalid input syntax for type oid: "business"
LINE 1: ...od) AS type FROM   pg_attribute WHERE  attrelid = 'business'
                                                         ^```

Também tentei:

SELECT
    a.attname as "Column",
    pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype"
FROM
    pg_catalog.pg_attribute a
WHERE
    a.attnum > 0
    AND NOT a.attisdropped
    AND a.attrelid = (
        SELECT c.oid
        FROM pg_catalog.pg_class c
            LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
        WHERE c.relname ~ '**Dont know what to put here, Schema? Database?**'
            --AND pg_catalog.pg_table_is_visible(c.oid)
    );

e isso retorna 0 com um esquema ou banco de dados. Não tenho certeza do que colocar lá para c.relname. Também estou vendo 0 com isso porque um usuário básico simplesmente não pode ver mais profundamente do que tabelas em um esquema, ponto final?

postgresql information-schema
  • 1 respostas
  • 14151 Views
Martin Hope
Lee
Asked: 2018-01-15 20:20:37 +0800 CST

Como consulto INFORMATION_SCHEMA.COLUMNS no Amazon RDS?

  • 2

Recebi uma lista de nomes de colunas de outra equipe. Para garantir que todos os nomes de coluna de campo sejam válidos dentro de um esquema específico, eu os coloco em uma tabela temporária. Agora estou querendo ver se eles existem. Ao tentar entrar com information_schema.columns, recebi os erros abaixo:

ERROR: 0A000: Specified types or functions (one per INFO message) not supported on Redshift tables.
Column "c.column_name" has unsupported type     "information_schema.sql_identifier".
Column "a.*" has unsupported type "pg_attribute".
Column "t.*" has unsupported type "pg_type".
Function "format_type(oid,integer)" not supported.
Function "format_type(oid,integer)" not supported.
Function "has_table_privilege(oid,text)" not supported.
Function "has_table_privilege(oid,text)" not supported.
Function "has_table_privilege(oid,text)" not supported.
Function "has_table_privilege(oid,text)" not supported.

Tentei lançar column_nameem diferentes tipos, mas não tive sorte. Alguém poderia aconselhar o que está errado e como posso atingir esse objetivo?

errors information-schema
  • 1 respostas
  • 7219 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve