各种teradata工具的集合

tdtools的Python项目详细描述


tdtools

PyPiLicensePython3.6+

tdtools是posix风格的命令行工具的集合,这些工具提供了从teradata访问系统信息(元数据)的另一种方法。当然,大多数信息都可以通过针对teradata的字典表和视图(DBC.%)编写sql查询来访问。

注释:

  • 我最初开发这些工具是为了我个人使用。我制作这些开源软件是希望其他人能发现它们有用。这些工具没有任何明示或暗示的保证。
  • 这些工具不是由Teradata Inc背书的。

要求

建议使用python3系列的最新版本。但是,至少支持一个python的早期版本。

tdtools依赖于tdtypes(用于teradata元数据信息)和yappt(用于格式化输出)。如果使用标准的python安装程序pip安装tdtools,这些包及其依赖项将自动下载和安装。

安装

使用python的pip实用程序安装tdtools

$ pip install -U tdtools

C:\>python -m pip install -U tdtools

工具

所有工具都是自动生成并安装的命令行实用程序(如果使用pip安装)。

以下是每个工具的简要说明。使用--help命令行选项显示所有受支持选项的详细说明。

CommandPurpose
^{}Print Teradata database hierarchy.
^{}Print Teradata View hierarchy.
^{}Print Teradata Tree hierarchy (reverse View hierarchy)
^{}Maintain View hierarchy as static data in a table (needed for ^{})
^{}Generate (and optionally run) TPT load script.
^{}Print current statistics for any Teradata objects.
^{}Print Teradata permissions on objects or to users or roles

所有show*实用程序都为不同类型的teradata对象生成ddl。

CommandObjects
^{}Database or user
^{}Grants to user/role
^{}Profile
^{}Role
^{}Statistics definition
^{}Wrapper for Teradata ^{} command
^{}Zone

所有ls*实用程序都从dbc表中打印teradata对象信息。当前支持的命令是:

CommandObjects
^{}Tables
^{}Views
^{}Macros
^{}Stored Procedures
^{}Functions
^{}Join Indexes
^{}Databases
^{}Users
^{}Profiles
^{}Roles
^{}Role Members

定制

您可以选择提供tdconn_site.py模块,允许向所有工具添加自定义命令行选项,然后使用这些命令行选项自定义如何获得teradata连接。此功能基于tdtypes模块提供的自定义(有关详细信息,请参阅tdtypes文档)。

这种定制包括编写一个定制的tdconn_site.py模块,该模块至少提供两个功能。

  1. dbconn_args(parser)它应该接受ArgumentParser对象并向parser对象添加任何自定义命令行选项。
  2. dbconnect(args)它使用tdtypes包提供的相同名称重写默认函数,但必须接受一个参数,该参数将是ArgumentParser.parse_args()的结果。

已知问题

  • teradata数据库的某些早期版本中存在一个缺陷,导致无法正确检测基于nopi表的视图。Teradata提供了修复此缺陷的修补程序。

支架

使用issue tracker报告错误。我会尽快提供解决方案。如果你已经修复了,给我一个请求。

贡献

请随意使用这个存储库并以您认为合适的方式增强它。如果你觉得你的改变会让更多人受益,给我一个请求。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVAutil。整数java的扫描器键盘输入   java通知运行后立即崩溃   java如何在一个只能由类修改而不能由其实例修改的类中生成静态变量?   数据库Java字段猜测   返回值周围的java括号为什么?   java Android更新通讯录中的联系人   一个消费者正在读取数据   java是否可以通过编程方式为蓝牙配对设置pin?   java Spring引导和buildResponseEntity()   java为什么序列化可以在没有实现可序列化的情况下工作   Java同步无助于相互排斥   twitter Java Twitter4J未在推文下显示源标签   为什么Javasocket不支持中断处理?