select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Unsupported versions: 9.4 / 9.3 / 9.2 / 9.1
Historical version. PostgreSQL 9.2 reached end of support in November 2017. See the current manual for supported releases.

F.12. dummy_seclabel

The dummy_seclabel module exists only to support regression testing of the SECURITY LABEL statement. It is not intended to be used in production.

F.12.1. Rationale

The SECURITY LABEL statement allows the user to assign security labels to database objects; however, security labels can only be assigned when specifically allowed by a loadable module, so this module is provided to allow proper regression testing.

Security label providers intended to be used in production will typically be dependent on a platform-specific feature such as SE-Linux. This module is platform-independent, and therefore better-suited to regression testing.

F.12.2. Usage

Here's a simple example of usage:

# postgresql.conf
shared_preload_libraries = 'dummy_seclabel'
postgres=# CREATE TABLE t (a int, b text);
CREATE TABLE
postgres=# SECURITY LABEL ON TABLE t IS 'classified';
SECURITY LABEL

The dummy_seclabel module provides only four hardcoded labels: unclassified, classified, secret, and top secret. It does not allow any other strings as security labels.

These labels are not used to enforce access controls. They are only used to check whether the SECURITY LABEL statement works as expected, or not.

Report a documentation issue

Read the upstream documentation. For corrections, first check the current manual.