Updated on 2025-05-29 GMT+08:00

DBE_PLDEVELOPER.gs_source

Records information about PL/SQL objects (stored procedures, functions, packages, and package bodies), as described in Table 1.

  • The gs_source table records only user-defined original object statements. Even if a user uses ALTER to change the created schema or name, the information in the gs_source table does not change. If the user changes the schema or name of an object, after the user deletes the object, the object is deleted from the gs_source table.
  • The owner in the gs_source table is the user who creates the table, not the user specified when the user creates the stored procedure or package.
  • After the GUC parameter behavior_compat_options="skip_insert_gs_source" is set, information about PL/SQL objects (stored procedures, functions, packages, and package bodies) is not recorded in the gs_source table.
  • The permissions of gs_source are the same as those of system catalogs in pg_catalog. System administrators and common users cannot perform DROP, ALTER, DELETE, UPDATE, and INSERT operations, but can perform the SELECT operation. The GUC parameter allow_system_table_mods is used to control the permissions of gs_source, and the default value is off. After modifying this parameter, you need to restart the database for the modification to take effect.
  • By default, row-level security is not configured for the gs_source table in the database. If you need to use the database isolation feature, use the following statement to add row-level security:
    ALTER TABLE dbe_pldeveloper.gs_source ENABLE ROW LEVEL SECURITY;
    CREATE ROW LEVEL SECURITY POLICY all_data_rls ON dbe_pldeveloper.gs_source USING(owner = (SELECT oid FROM gs_roles WHERE rolname=current_user));
Table 1 DBE_PLDEVELOPER.gs_source columns

Name

Type

Description

id

oid

Object ID.

owner

bigint

ID of the user who creates the object.

nspid

oid

Schema ID of an object.

name

name

Object name.

type

text

Object type (procedure/function/package/package body).

status

Boolean

Determines whether the creation is successful.

src

text

Original statement for creating an object.