Vertica, descreve a tabela

Tenho uma base de dados vertica e preciso de descrever algumas tabelas. No MySQL você usa describe table_name. E sei que em vertica é ... Também preciso de o fazer lançar python, mas quando faço perguntas:

cur.execute("\d table_name")

eu tenho este problema:

vertica_python.errors.VerticaSyntaxError: Severity: ERROR, Message: Syntax error at or near "\", Sqlstate: 42601, Position: 1, Routine: base_yyerror, File: /scratch_a/release/vbuild/vertica/Parser/scan.l, Line: 1004, SQL: '\\d table_name'
Há outra forma de obter colunas e colunas em vertica?

Author: Mike, 2014-10-16

2 answers

Porque é que a tua pergunta falha:

O comando \d é uma especificidade de vsql, este não é um SQL válido que pode usar através do ODBC ou do JDBC, por exemplo.

Tens 3 opções. Primeiro aquele que já colocou em comentário:

SELECT * 
FROM   v_catalog.columns 
WHERE  table_schema='schema' 
       AND table_name='table' 
ORDER  BY ordinal_position;`

A segunda opção é exportar o objecto, o que lhe dará a declaração de criação completa, incluindo as projecções:

SELECT export_objects('', 'schema.table');

A terceira opção é exportar o quadro , que apenas fornece o quadro definição:

SELECT EXPORT_TABLES('', 'schema.table');

O primeiro conjunto de aspas diz para imprimir o resultado no 'STDOUT', o segundo é a tabela (ou esquema ou todos os objectos) que deseja exportar.

 10
Author: Guillaume, 2018-02-06 05:37:31

Existem muitas maneiras de descrever tabelas em vertica mas a mais fácil é assim:

/d table_name;
/dt tablw_name;
 0
Author: santosh tiwary, 2018-07-09 12:48:26