= qadmin(1) = == NAME == qadmin - Easy to use admin console to examine and administer PgQ queues. == SYNOPSIS == qadmin [options] == DESCRIPTION == This is a psql-like console for queue administration. The console offers a large number of commands to setup, control and manage PgQ queueing system. It also offers a non-interactive mode to run one or more commands. qadmin keeps its history file in the home of the user (`~/.qadmin_history`). == GENERAL OPTIONS == --help:: Help screen. --version:: Print version. == CONNECTION OPTIONS == -h host:: Specify host to connect to (default: localhost via unix socket). -p port:: Specify port. -U user:: Specify user name. -d dbname:: Database name. -Q queuename:: Queue name, it is used as the `default queue` if it is provided. == SPECIFIC OPTIONS == -c 'cmd_string':: Execute console command. -f 'execfile':: Execute file containing console commands. == CONNECTION COMMANDS == qadmin offers to connect to other databases or queues from the console itself. === connect [queue=]; === Connect the console with the specified connection string, optional parameter to set the default queue on connection. === connect [queue=] [node=]; === Connect the console to the specified queue and/or node. == MANAGEMENT COMMANDS == === install pgq | londiste; === Install PgQ or Londiste to the connected database. === create queue ; === Create the specified queue. === alter queue set param =,; === Set one or more parameters on one or all queues at once. === drop queue ; === Drop the named queue. === register consumer [on | at | copy ]; === Register a consumer on a queue, or at a specified tick or based on another consumer. === unregister consumer [from ]; === Unregister one or all consumers, if the console is not connected to a queue, its name must be provided. === register subconsumer for [on ]; === Register a subconsumer to a consumer, if the console is not connected to a queue, its name must be provided. === unregister subconsumer for [from ] [close [batch]]; === Unregister one or all subconsumers from a consumer, if the console is not connected to a queue, its name must be provided. Current batch can be aborted if the `close batch` subcommand is provided. == SHOW COMMANDS == === show help; === Show all the console commands. === show queue [ ]; === Show details of one or all queues. === show table ; === Show DDL for the specified table. === show sequence ; === Show DDL for the specified sequence. === show consumer [ [on ] ]; === Show details of one or all consumers on one or all queues. === show node [ [on ] ]; === Show details of one or all nodes on one or all queues. === show batch ; === Show details of the batch, default queue must be set (see `connect queue`) === show batch ; === Show details of the current batch for the specified consumer, default queue must be set (see `connect queue`) == LONDISTE COMMANDS == All these commands are applied on the node where the console is connected to. === londiste add table [with ... ] === with no_triggers:: Skip trigger creation. with skip_truncate:: Does not truncate the table on the destination. with expect_sync:: Set table state to 'ok'. with tgflags='IUDBAQLS':: Trigger creation flags, see below for details. with backup:: Put urlencoded contents of old row to `ev_extra2`. with skip:: Create skip trigger. Same as S flag. with when='expr':: If 'expr' returns false, do not insert event. with ev_XX='EXPR':: Overwrite default ev_* columns (see below). Trigger creation flags (default: AIUDL): - I - ON INSERT - U - ON UPDATE - D - ON DELETE - Q - use pgq.sqltriga() as trigger function - L - use pgq.logutriga() as trigger function - B - BEFORE - A - AFTER - S - SKIP Queue event fields: - ev_type - I/U/D - ev_data - partial SQL statement - ev_extra1 - table name - ev_extra2 - optional urlencoded backup === londiste add sequence ; === Add the specified sequence to Londiste replication. === londiste remove table [,tbl]; === Remove the specified table(s) from the Londiste replication. === londiste remove sequence [,seq]; === Remove the specified sequence(s) from the Londiste replication. === londiste tables; === List registered tables and informations about them: - table_name - fully-qualified table name - local - does events needs to be applied to local table - merge_state - show phase of initial copy - custom_snapshot - remote snapshot of COPY transaction - table_attrs - urlencoded dict of table attributes - dropped_ddl - partition combining: temp place to put DDL - copy_role - partition combining: how to handle copy - copy_pos - position in parallel copy working order ==== copy_role = lead ==== On copy start, drop indexes and store in dropped_ddl. On copy finish change state to catching-up, then wait until copy_role turns to NULL. Catching-up: if dropped_ddl is not NULL, restore them. ==== copy_role = wait-copy ==== On copy start, wait until role changes (to wait-replay). ==== copy_role = wait-replay ==== On copy finish, tag as 'catching-up'. Wait until copy_role is NULL, then proceed. === londiste seqs; === List registered sequences on this node and their last value. === londiste missing; === On Master, list tables not registered on set. On Slave, list tables on set but not registered locally. == OTHER COMMANDS == === exit; === Quit program. === ^D === Quit program. === ^C === Clear current buffer. == EXIT STATUS == 0:: Successful program execution. == ENVIRONMENT == PostgreSQL environment variables can be used. == NOT IMPLEMENTED COMMANDS == TODO : is it up-to-date ? - create node location [on ]; - alter node provider ; - alter node takeover with all; - alter node rename ; - alter node [location=] - drop node [on ]; - takeover ; - show cascade; - show_queue_stats ; - status