キューを作成します。

構文

次の構文を使用して、新しいキューを定義します。

CREATE QUEUE name QUEUE TABLE queue_table_name [ ( { option_name option_value} [, ... ] ) ]

次のセクションでは、option_name および option_value パラメーターの有効な値について説明します。

TYPE [normal_queue | exception_queue]
RETRIES [INTEGER]
RETRYDELAY [DOUBLE PRECISION]
RETENTION [DOUBLE PRECISION]

説明

スーパーユーザーまたは aq_administrator_role 権限を持つユーザーであれば、CREATE QUEUE コマンドを使用して、現在のデータベースにキューを作成することができます。

キュー名がスキーマ修飾されている場合は、キューは指定されたスキーマに作成されます。 それ以外の場合は、キューは現在のスキーマに作成されます。 キューは、キューテーブルが存在するスキーマでのみ作成することができます。 キュー名はスキーマ内で一意である必要があります。

  • Oracle と互換性のある POLARDB データベースは、CREATE QUEUE SQL コマンドの追加構文を提供します。 この追加構文は、DBMS_AQADM パッケージで使用することができます。
  • DROP QUEUE コマンドを使用して、キューを削除します。

パラメーター

パラメーター 説明
name 作成するシーケンスの名前。 名前はスキーマで修飾することができます。
queue_table_name キューに関連付けられているキューテーブルの名前。
option_name option_value 新しいキューに関連付けられているオプションの名前と値。 CREATE QUEUE TABLE の呼び出しに重複するオプション名が含まれている場合は、サーバーはエラーを返します。 次のセクションでは、これら 2 つのパラメーターの有効な値について説明します。
  • TYPE: キューが通常のキューか例外キューかを指定します。 有効な値: normal_queue および exception_queue。 例外キューはデキュー操作のみをサポートします。
  • RETRIES: キューからメッセージを削除する最大試行回数を指定します。 データ型: INTEGER。
  • RETRYDELAY: サーバーがメッセージを再試行する前に待機するロールバック後の秒数を指定します。 データ型: DOUBLE PRECISION。
  • RETENTION: デキュー後にメッセージがキューテーブルに格納される秒数を指定します。 データ型: DOUBLE PRECISION。

次のコマンドを実行して、work_order_table というキューテーブルに関連付けられた work_order というキューを作成します。

CREATE QUEUE work_order QUEUE TABLE work_order_table (RETRIES 5, RETRYDELAY 2);

サーバーは、キューからメッセージを削除するための 5 回の試行を許可し、2 回の再試行の間に 2 秒の間隔を必要とします。