Cluster Basic Management

In YMatrix 6, we provide cluster operations and maintenance tools: mxstart, mxstop, and mxstate.

Note!
The above O&M tools are introduced for the first time in YMatrix 5. For more information about the YMatrix 5 architecture, see YMatrix 5 Architecture.
In YMatrix 4 (MatrixDB 4), Greenplum series O&M tools are used by default. For details, refer to YMatrix 4 Cluster Basic Management.

1. Operating the Cluster

1.1 Start

mxstart -a  # Start the cluster

1.2 Stop

mxstop -a   # Stop the cluster (the shutdown will hang if active sessions exist)
mxstop -a -M fast  # Quickly stop the cluster using fast mode

1.3 Restart

mxstop -ar # Restart the cluster, wait for currently running SQL to finish (will hang if active sessions exist)
mxstop -ar -M fast # Quickly restart the cluster using fast mode

1.4 Reload Configuration

mxstop -u  # Reload configuration files

1.5 Check Cluster Status

mxstate     # Display cluster status
mxstate -s  # Display the overall status of the YMatrix cluster
mxstate -m  # List mirrors
mxstate -f  # Display Standby Master information

1.6 View and Modify Configuration Parameters

Display a configuration value:

gpconfig -s {GUC}

# Example: Check maximum connection limit
gpconfig -s max_connections

Modify a configuration value:

gpconfig -c {GUC} -v {Value} -m {Value}  # -m sets the value on master, -v sets the value on segments
gpconfig -c {GUC} -v {Value}             # If -m is omitted, master uses the same value as segments

# Examples:
gpconfig -c max_connections -v 1000 -m 300
gpconfig -c shared_buffers -v 2GB

2. Connecting to the Cluster

2.1 Connect Using psql

psql -d ${db_name} -U ${user_name} -h ${ip_addr} -p ${port}

Set environment variables to define default psql values:

# Edit the profile to set defaults
vi ~/.bash_profile  # As mxadmin user, add the following variables

export PGPORT=5432      # Default port
export PGUSER=mxadmin   # Default username
export PGDATABASE=postgres  # Default database

Apply changes immediately:

source ~/.bash_profile

Connect again using psql:

# Now psql connects with default settings
psql
# Equivalent to:
psql -d postgres -U mxadmin -h localhost -p 5432

2.2 psql Meta-Commands

\l                    List all databases.
\d                    List all tables, views, and sequences in the current database.
\d [table_name]       Describe the structure of a specific table.
\dt                   Show only matching tables.
\di                   Show only indexes.
\dt+ table_name       Show table size.
\di+ index_name       Show index size.
\ds                   Show only sequences.
\dv                   Show only views.
\dm                   List materialized views.
\df                   Show only functions.
\dn                   List all schemas.
\du or \dg            List all roles or users.
\dp table_name        \z table_name Display access privileges for a table.
\dx                   Show installed extensions.
\sf function_name     Show function definition.
\h                    Show help for SQL commands, e.g., \h select.
\?                    List all psql meta-commands.
\c                    Display current database and connection info.
\c [database_name]    Connect to another database.
\e                    Open text editor for command editing.
\x                    Toggle expanded output mode for query results.
\!                    Execute operating system commands.
\o /home/postgres/test.txt  Save query output to file; disable with \o.
\drds                 List per-database or per-user configuration settings.
\s                    Show command history.
\watch 1              Re-execute previous command every 1 second.

3. Creating and Dropping Databases

3.1 Create a Database

Method 1: Use the createdb utility:

createdb test

Method 2: Use SQL command:

psql postgres
postgres=# CREATE DATABASE test;

3.2 Drop a Database

Method 1: Use the dropdb utility:

dropdb test

Method 2: Use SQL command:

psql postgres
postgres=# DROP DATABASE test;