Database Tour application gives you an opportunity to search for database objects by text in their names, descriptions, or DDL text. For example, you may want to:
- find tables and/or views, which contain a field/column with a certain name;
- find tables and/or other database objects, whose names contain a certain fragment of text;
- find database views, which contain a certain fragment of text in their definition;
- find tables, whose descriptions contain a certain fragment of text;
- find tables, whose columns' descriptions contain a certain fragment of text;
- find stored procedures, which contain a certain fragment of text in their code;
- etc.
If you sometimes need something from the list, this tool is for you.
Open the needed database and choose Search | Find in Metadata... menu to start.
You can search for all objects, currently supported by the application for selected database type. Basically, these are the objects you see in the Database Object Browser. Here is how the interface looks for PostgreSQL database:
How Database Metadata Search Works
Database Tour uses different ways to search the text in database metadata depending on the database type and database objects' type (please read the notes below). To speed up the search, it tries to use the native database search abilities if possible. This advanced technique is implemented for Oracle, PostgreSQL, SQL Server, Firebird, Interbase, MySQL databases. For other types of databases, the speed of the search can be slower.
Some options might work differently too because of different implementing the search features in different databases.
The found objects appear in the list immediately, you do not have to wait till the search completes. To stop the search, click Cancel button or press ESC.
To open the found database object, double-click it. The application opens the DDL text of the found object and immediately shows the first occurrence of the searched text.
Options
Case sensitive Performs case-sensitive search.
Whole words only Searches for the specified text as a whole word/phrase only, bounded on both sides by spaces, quotes, beginning or end of the line etc. It may depend on what is considered as a word in the certain database.
Objects
This group of options currently works for Oracle, PostgreSQL, SQL Server, Firebird, Interbase, MySQL databases only.
Schema For those databases, which support schemas (i.e. Oracle, PostgreSQL etc), you can limit the scope of the search by a certain schema. When this field is blank, the search is done in the whole database.
Object name mask You can limit the scope of the search by specifying the object name mask like it is done in SQL.
Include system objects Searches also inside system objects. Only for those databases, which contain searchable system objects.
Notes for Different Database Objects
Tables
The application searches the text in the table names and the table column/field names. For Oracle, SQL Server, MySQL and PostgreSQL databases, the search is also done in the tables' and table columns' descriptions. For PostgreSQL foreign tables, the server name and foreign table options are also searched.
Views
For Oracle, PostgreSQL, SQL Server, Firebird, Interbase, MySQL databases, the search is done in the view names and view sources; for other database types, the search is done in the view names and the view column names. For Oracle, SQL Server, MySQL and PostgreSQL databases, the search is also done in the views' and view columns' descriptions.
Schemas
This is related to the text/CSV databases, connected by ADO or BDE, where schema files contain table structures. The search is done in the schema file names and their contents.
Sequences / Generators
The search is done in the object names.
Procedures
The search is done in the procedure names and procedure sources. For PostgreSQL databases, the search is also done in the procedure descriptions.
Functions
The search is done in the function names and function sources. For PostgreSQL databases, the search is also done in the function descriptions.
Aggregates
The search is done in the aggregate names, arguments, and descriptions.
Triggers
The search is done in the trigger names and trigger sources.
Packages
The search is done in the package names, package sources, and package body sources.
Types
The search is done in the type names, type sources, and type body sources.
Java Sources
The search is done in the Java source names and Java source texts.
Database Links / Foreign Servers
For Oracle database links, the search is done in the db link names and hosts.
For PostgreSQL foreign servers, the search is done in the server names, wrappers, and options.
Jobs
For Oracle scheduler jobs, the search is done in the job names, actions, and comments.
For PostgreSQL Cron jobs, the search is done in the job names, schedules, and commands.
For Oracle DBMS jobs, the search is done in the job names and job actions (i.e. 'what' expressions).
Users
The search is done in the object names.
Roles
The search is done in the object names.
Profiles
The search is done in the object names.
Directories
The search is done in the directory names and paths.
Publications
The search is done in the object names.
Subscriptions
The search is done in the object names.
Extensions
The search is done in the extension names and comments.
Exceptions
The search is done in the exception names and texts.
See also