各种teradata工具的集合
tdtools的Python项目详细描述
tdtools
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
命令行选项显示所有受支持选项的详细说明。
Command | Purpose |
---|---|
^{ | 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。
Command | Objects |
---|---|
^{ | Database or user |
^{ | Grants to user/role |
^{ | Profile |
^{ | Role |
^{ | Statistics definition |
^{ | Wrapper for Teradata ^{ |
^{ | Zone |
所有ls*实用程序都从dbc表中打印teradata对象信息。当前支持的命令是:
Command | Objects |
---|---|
^{ | Tables |
^{ | Views |
^{ | Macros |
^{ | Stored Procedures |
^{ | Functions |
^{ | Join Indexes |
^{ | Databases |
^{ | Users |
^{ | Profiles |
^{ | Roles |
^{ | Role Members |
定制
您可以选择提供tdconn_site.py
模块,允许向所有工具添加自定义命令行选项,然后使用这些命令行选项自定义如何获得teradata连接。此功能基于tdtypes模块提供的自定义(有关详细信息,请参阅tdtypes文档)。
这种定制包括编写一个定制的tdconn_site.py
模块,该模块至少提供两个功能。
dbconn_args(parser)
它应该接受ArgumentParser对象并向parser
对象添加任何自定义命令行选项。dbconnect(args)
它使用tdtypes包提供的相同名称重写默认函数,但必须接受一个参数,该参数将是ArgumentParser.parse_args()
的结果。
已知问题
- teradata数据库的某些早期版本中存在一个缺陷,导致无法正确检测基于nopi表的视图。Teradata提供了修复此缺陷的修补程序。
支架
使用issue tracker报告错误。我会尽快提供解决方案。如果你已经修复了,给我一个请求。
贡献
请随意使用这个存储库并以您认为合适的方式增强它。如果你觉得你的改变会让更多人受益,给我一个请求。