gpt4 book ai didi

python - 使用 vertica_python 驱动程序以编程方式获取列长度

转载 作者:太空宇宙 更新时间:2023-11-03 15:55:20 27 4
gpt4 key购买 nike

是否可以通过vertica_python运行\d schema.table_name;之类的命令?我遇到以下错误,表明它不喜欢前导反斜杠:

vertica_python.errors.VerticaSyntaxError: Severity: ERROR, Message: Syntax error at or near "\", Sqlstate: 42601, Position: 1, Routine: base_yyerror, File: /scratch_a/release/svrtar9988/vbuild/vertica/Parser/scan.l, Line: 1043, SQL: '\\d schema.table_name;'

我本质上是想获取程序中一些 VARCHAR 列的长度。我总是可以将命令放入文件中,运行 vertica -f my_file > out_file 并解析 out_file,但我正在寻找更好的方法。

最佳答案

只需对系统 View 执行查询 ( COLUMNS )。类似于:

select *
from columns
where table_schema = 'MYSCHEMA'
and table_name = 'MYTABLE'
order by column_id

\d 是一个 vsql 命令,而不是服务器端命令。

由于您使用 vertica_python,另一种可能性是在执行查询后检查光标中的字段。如果您已经有结果集并且想了解数据类型,则非常有用。不过,如果您已经有了结果,我可能只会使用此方法。

为此,您可以查看cursor.description

它应该有元素:

name
table_oid
attribute_number
data_type_oid
data_type_size
type_modifier
format_code

关于python - 使用 vertica_python 驱动程序以编程方式获取列长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40869578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com