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?
2
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