A Collection of assorted Teradata Tools
Project description
tdtools is a collection of command-line tools and utilities to explore various Teradata related information that normallt would write custom SQL queries. Although these tools are primarily targeted towards Teradata power users and DBAs, casual users may find them useful.
NOTES:
I originally developed these tools for my personal use. I am making these open-source in the hope that someone else might find them useful. These tools do not come with any expressed or implied warranty.
These tools are not endorsed by Teradata Inc.
Requirements
Latest version of Python3 series is recommended, however Python 3.6 and above should work.
tdtools depends on tdtypes (for Teradata metadata information) and yappt (for formatting output). These packages and their dependencies will be downloaded and installed automatically if you use the standard python installer pip to install tdtools.
Installation
Use Python’s pip utility to install tdtools.
$ pip install tdtools
Or
C:\>python -m pip install tdtools
Configuration
No configuration is required except setting up the needed ODBC connections. All tools (listed below) from this package rely on tdtypes package for establishing connection to Teradata. Thus, the simplest way to invoke any tool is by supplying a valid ODBC connection string to --tdconn option. Look at tdtypes documentation if more flexibility is needed; for example, using Teradata REST interface instead of ODBC.
Tools
All tools are command-line utilities that are generated automatically and installed (if installed using pip).
Following is a brief description of each tool. Use --help command-line option to show detailed description of all supported options.
Command |
Purpose |
---|---|
dbtree |
View Teradata database hierarchy. |
vwtree |
View (or save) Teradata View hierarchy. |
tptload |
Generate (and optionally run) TPT load script. |
helpstats |
View current statistics for any Teradata objects. |
tdrights |
View Teradata permissions on objects or to users. |
All show* utilities generate DDLs for different types of Teradata objects.
Command |
Objects |
---|---|
showdb |
Database or user |
showgrant |
Grants to user/role |
showprof |
Profile |
showrole |
Role |
showstats |
Statistics definition |
showtvm |
Wrapper for Teradata SHOW <object> command |
showzone |
Zone |
All ls* utilities print Teradata object information from DBC tables. Currently supported commands are:
Command |
Objects |
---|---|
lstb |
Tables |
lsvw |
Views |
lsmc |
Macros |
lspr |
Stored Procedures |
lsfn |
Functions |
lsji |
Join Indexes |
lsdb |
Databases |
lsus |
Users |
lspf |
Profiles |
Known Issues
When using teradata.tdrest as method for database connection, certain show* commands will not work correctly. This is due to an upstream defect. Note that this error does not occur when using ODBC connections.
There was a defect in certain earlier releases of Teradata Database that caused views based on NOPI tables to be not detected correctly. A patch is available from Teradata that fixes this defect.
Support
If you encounter an issue, report it using issue tracker. I’ll try to provide a fix as soon as I can. If you already have a fix, send me a pull request.
Contributions
Feel free to fork this repository and enhance it in a way you see fit. If you feel your changes will benefit more people, send me a pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.