12.1 System Catalog Tables
The following system catalog tables contain definitions of database objects. The layout of the system tables is subject to change; if you are writing an application that depends on information stored in the system tables, it would be prudent to use an existing catalog view, or create a catalog view to isolate the application from changes to the system table.
12.1.1 edb_dir
The edb_dir table contains one row for each alias that points to a directory created with the CREATE DIRECTORY command. A directory is an alias for a pathname that allows a user limited access to the host file system.
You can use a directory to fence a user into a specific directory tree within the file system. For example, the UTL_FILE package offers functions that permit a user to read and write files and directories in the host file system, but only allows access to paths that the database administrator has granted access to via a CREATE DIRECTORY command.
Column |
Type |
Modifiers |
Description |
dirname |
"name" |
not null |
The name of the alias. |
dirowner |
oid |
not null |
The OID of the user that owns the alias. |
dirpath |
text |
The directory name to which access is granted. | |
diracl |
aclitem[] |
The access control list that determines which users may access the alias. |
12.1.2 pg_synonym
The pg_synonym table contains one row for each synonym created with the CREATE SYNONYM command or CREATE PUBLIC SYNONYM command.
Column |
Type |
Modifiers |
Description |
synname |
"name" |
not null |
The name of the synonym. |
synnamespace |
oid |
not null |
Replaces synowner. Contains the OID of the pg_namespace row where the synonym is stored |
synobjschema |
"name" |
not null |
The schema in which the referenced object is defined. |
synobjname |
"name" |
not null |
The name of the referenced object. |
synlink |
text |
The (optional) name of the database link in which the referenced object is defined. | |
synacl |
aclitem[] |
Deprecated. The access control list that controlled which users could use the synonym. |
12.1.3 edb_variable
The edb_variable table contains one row for each package level variable (each variable declared within a package).
Column |
Type |
Modifiers |
Description |
varname |
"name" |
not null |
The name of the variable. |
varpackage |
oid |
not null |
The OID of the pg_namespace row that stores the package. |
vartype |
oid |
not null |
The OID fo the pg_type row that defines the type of the variable. |
varaccess |
"char" |
not null |
+ if the variable is visible outside of the package. - if the variable is only visible within the package. Note: Public variables are declared within the package header; private variables are declared within the package body. |
varsrc |
text |
Contains the source of the variable declaration, including any default value expressions for the variable. | |
varseq |
smallint |
not null |
The order in which the variable was declared in the package. |
12.1.4 product_component_version
The product_component_version table contains information about feature compatibility; an application can query this table at installation or run time to verify that features used by the application are available with this deployment.
Column |
Type |
Description |
product |
character varying (74) |
The name of the product. |
version |
character varying (74) |
The version number of the product. |
status |
character varying (74) |
The status of the release. |







