DBMS_AQADM v16

EDB Postgres Advanced Server advanced queueing provides message queueing and message processing for the EDB Postgres Advanced Server database. User-defined messages are stored in a queue, and a collection of queues is stored in a queue table. Procedures in the DBMS_AQADM package create and manage message queues and queue tables. Use the DBMS_AQ package to add messages to or remove messages from a queue or to register or unregister a PL/SQL callback procedure.

EDB Postgres Advanced Server also provides extended (non-compatible) functionality for the DBMS_AQ package with SQL commands. See SQL reference for detailed information about the following SQL commands:

  • ALTER QUEUE
  • ALTER QUEUE TABLE
  • CREATE QUEUE
  • CREATE QUEUE TABLE
  • DROP QUEUE
  • DROP QUEUE TABLE

The DBMS_AQADM package provides procedures that allow you to create and manage queues and queue tables. EDB Postgres Advanced Server's implementation of DBMS_AQADM is a partial implementation when compared to Oracle's version. Only those functions and procedures listed in the table are supported.

Function/procedureReturn typeDescription
ALTER_QUEUEn/aModify an existing queue.
ALTER_QUEUE_TABLEn/aModify an existing queue table.
CREATE_QUEUEn/aCreate a queue.
CREATE_QUEUE_TABLEn/aCreate a queue table.
DROP_QUEUEn/aDrop an existing queue.
DROP_QUEUE_TABLEn/aDrop an existing queue table.
PURGE_QUEUE_TABLEn/aRemove one or more messages from a queue table.
START_QUEUEn/aMake a queue available for enqueueing and dequeueing procedures.
STOP_QUEUEn/aMake a queue unavailable for enqueueing and dequeueing procedures.

EDB Postgres Advanced Server supports use of the arguments listed in the table:

ConstantDescriptionFor parameters
DBMS_AQADM.TRANSACTIONAL(1)This constant is defined but returns an error if used.message_grouping
DBMS_AQADM.NONE(0)Use to specify message grouping for a queue table.message_grouping
DBMS_AQADM.NORMAL_QUEUE(0)Use with create_queue to specify queue_type.queue_type
DBMS_AQADM.EXCEPTION_QUEUE (1)Use with create_queue to specify queue_type.queue_type
DBMS_AQADM.INFINITE(-1)Use with create_queue to specify retention_time.retention_time
DBMS_AQADM.PERSISTENT (0)Store the message in a table.enqueue_options_t.delivery_mode
DBMS_AQADM.BUFFERED (1)This constant is defined but returns an error if used.enqueue_options_t.delivery_mode
DBMS_AQADM.PERSISTENT_OR_BUFFERED (2)This constant is defined but returns an error if used.enqueue_options_t.delivery_mode

alter_queue alter_queue_table create_queue create_queue_table drop_queue drop_queue_table purge_queue_table start_queue stop_queue