February 16, 2017 10:39

Goal

In this article we will try to understand and answer to the below two question.

How to understand the segment mode and status of gp_segment_configuration table ?

What does 'c', 'r', 's' mean in mode column of gp_segment_configuration table?

Solution

This article explains the meaning of 'c', 'r', 's' in the mode column, and the meaning of 'u', 'd' in the status column of gp_segment_configuration table.

The meaning is explained in two examples.

Example 1: Kill a mirror instance

-- This is a healthy instance, and all segments are up and running as their perferred roles. The segments' status is 'u' (up), mode is 's' (synchronized). 'synchronized' means all changes happening in primary instance are already synchronized in mirror instances, so in this condition, if the primary or mirror instance is down, there will be no data loss since the corresponding mirror/primary instance already has the same data.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
3 " 1 " p " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
11 " 1 " m " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
(17 rows)

-- Run SSH to one of the segment server, for example, sdw1, and kill a mirror instance, for example, with dbid 16.

[gpadmin@mdw alice]$ ssh sdw1
Last login: Sun Aug 14 21:54:02 2011 from mdw
[gpadmin@sdw1 ~]$ ps -ef " grep az " grep 4111
gpadmin 879 1 0 Aug07 ? 00:00:04 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azprimary4111/gpsegaz41111 -i -p 48213 --silent-mode=true -M quiescent -b 3 -C 1 -z 8
gpadmin 881 1 0 Aug07 ? 00:00:03 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azprimary4111/gpsegaz41110 -i -p 48212 --silent-mode=true -M quiescent -b 2 -C 0 -z 8
gpadmin 882 1 0 Aug07 ? 00:00:00 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azmirror4111/gpsegaz41117 -i -p 58213 --silent-mode=true -M quiescent -b 17 -C 7 -z 8
gpadmin 883 1 0 Aug07 ? 00:00:00 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azmirror4111/gpsegaz41116 -i -p 58212 --silent-mode=true -M quiescent -b 16 -C 6 -z 8
[gpadmin@sdw1 ~]$ kill 883
[gpadmin@sdw1 ~]$ ps -ef " grep az " grep 4111
gpadmin 879 1 0 Aug07 ? 00:00:04 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azprimary4111/gpsegaz41111 -i -p 48213 --silent-mode=true -M quiescent -b 3 -C 1 -z 8
gpadmin 881 1 0 Aug07 ? 00:00:03 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azprimary4111/gpsegaz41110 -i -p 48212 --silent-mode=true -M quiescent -b 2 -C 0 -z 8
gpadmin 882 1 0 Aug07 ? 00:00:00 /usr/local/greenplum-db-4.1.1.1_JL/bin/postgres -D /data/azmirror4111/gpsegaz41117 -i -p 58213 --silent-mode=true -M quiescent -b 17 -C 7 -z 8
[gpadmin@sdw1 ~]$ exit
logout

-- Check the gpstate and gp_segment_configuration table again.

[gpadmin@mdw alice]$ gpstate
20110815:13:27:16:gpstate:mdw:gpadmin-[INFO]:-Starting gpstate with args:
20110815:13:27:16:gpstate:mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.1.1.1 build 1'
20110815:13:27:16:gpstate:mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20110815:13:27:16:gpstate:mdw:gpadmin-[INFO]:-Gathering data from segments...
.
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-Greenplum instance status summary
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-----------------------------------------------------
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Master instance = Active
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Master standby = No master standby configured
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total segment instance count from metadata = 16
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-----------------------------------------------------
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Primary Segment Status
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-----------------------------------------------------
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total primary segments = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total primary segment valid (at master) = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total primary segment failures (at master) = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid files missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid files found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid PIDs missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid PIDs found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of /tmp lock files missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of /tmp lock files found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number postmaster processes missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number postmaster processes found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-----------------------------------------------------
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Mirror Segment Status
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:-----------------------------------------------------
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total mirror segments = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total mirror segment valid (at master) = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total mirror segment failures (at master) = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid files missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid files found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid PIDs missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of postmaster.pid PIDs found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of /tmp lock files missing = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number of /tmp lock files found = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[WARNING]:-Total number postmaster processes missing = 1 <<<<<<<<
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number postmaster processes found = 7
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number mirror segments acting as primary segments = 0
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:- Total number mirror segments acting as mirror segments = 8
20110815:13:27:17:gpstate:mdw:gpadmin-[INFO]:----------------------------------------------------- [gpadmin@mdw alice]$ psql template1
Timing is on.
psql (8.2.15)
Type "help" for help. template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
3 " 1 " p " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
11 " 1 " m " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
8 " 6 " p " p " c " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " d " 58212 " sdw1 " sdw1-2 " 52820 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
(17 rows)

You can see that the instance with port=58212 status is 'd' (down), its primary instance status is still 'u', but the mode is changed 'c' (change tracking). At this time, the primary instance is logging all transactional changes made to the database, these are tracked via the files available at $SEG_DATA_DIRECTORY/pg_changetracking location, but its not synchronized to the mirror instance because it is down.

-- Run gprecoverseg to recover the down instance.

To recover ths mirror instance, run the gprecoverseg command then check the status again. You can see both instance are up now, but the mode is 'r' (resynchronization), which means the resynchronization process is applying changes that is recorded in change tracking log file to mirror segment.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
3 " 1 " p " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
11 " 1 " m " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " r " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " r " u " 58212 " sdw1 " sdw1-2 " 52820 "
(17 rows)

After a while, check the table again, you can see both of them are synchronized.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
3 " 1 " p " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
11 " 1 " m " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
(17 rows)

Example 2: Kill a primary instance

-- Kill a primary instance with dbid=3.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
3 " 1 " m " p " s " d " 48213 " sdw1 " sdw1-2 " 42183 "
11 " 1 " p " m " c " u " 58213 " sdw3 " sdw3-1 " 52821 "
(17 rows)

You can see the primary instance dbid=3 status is down now, its mirror instance is up, and the mode is change tracking.

-- Run gprecoverseg command again.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
3 " 1 " m " p " r " u " 48213 " sdw1 " sdw1-2 " 42183 "
11 " 1 " p " m " r " u " 58213 " sdw3 " sdw3-1 " 52821 "
(17 rows)

After a while, they are synchronized

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
11 " 1 " p " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
3 " 1 " m " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
(17 rows)

-- Run the gprecoverseg -r command to bring the segment to its preferred role.

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
3 " 1 " p " p " r " u " 48213 " sdw1 " sdw1-2 " 42183 "
11 " 1 " m " m " r " u " 58213 " sdw3 " sdw3-1 " 52821 "
(17 rows)

After a while, they are back to their preferred roles, and synchronized:

template1=# select * from gp_segment_configuration;
dbid " content " role " preferred_role " mode " status " port " hostname " address " replication_port " san_mounts
------+---------+------+----------------+------+--------+-------+----------+---------+------------------+------------
1 " -1 " p " p " s " u " 5582 " mdw " mdw " "
2 " 0 " p " p " s " u " 48212 " sdw1 " sdw1-1 " 42182 "
4 " 2 " p " p " s " u " 48212 " sdw3 " sdw3-1 " 42182 "
5 " 3 " p " p " s " u " 48213 " sdw3 " sdw3-2 " 42183 "
10 " 0 " m " m " s " u " 58212 " sdw3 " sdw3-2 " 52820 "
12 " 2 " m " m " s " u " 58212 " sdw4 " sdw4-2 " 52820 "
13 " 3 " m " m " s " u " 58213 " sdw4 " sdw4-1 " 52821 "
6 " 4 " p " p " s " u " 48212 " sdw4 " sdw4-1 " 42182 "
14 " 4 " m " m " s " u " 58212 " sdw5 " sdw5-2 " 52820 "
7 " 5 " p " p " s " u " 48213 " sdw4 " sdw4-2 " 42183 "
15 " 5 " m " m " s " u " 58213 " sdw5 " sdw5-1 " 52821 "
17 " 7 " m " m " s " u " 58213 " sdw1 " sdw1-1 " 52821 "
9 " 7 " p " p " s " u " 48213 " sdw5 " sdw5-2 " 42183 "
8 " 6 " p " p " s " u " 48212 " sdw5 " sdw5-1 " 42182 "
16 " 6 " m " m " s " u " 58212 " sdw1 " sdw1-2 " 52820 "
3 " 1 " p " p " s " u " 48213 " sdw1 " sdw1-2 " 42183 "
11 " 1 " m " m " s " u " 58213 " sdw3 " sdw3-1 " 52821 "
(17 rows) (原文地址:https://discuss.pivotal.io/hc/en-us/articles/202646953-What-are-mode-and-status-columns-under-gp-segment-configuration-table)

[转]What are mode and status columns under gp_segment_configuration table的更多相关文章

  1. 1503 - A PRIMARY KEY must include all columns in the table's partitioning function

    1503 - A PRIMARY KEY must include all columns in the table's partitioning function 错误的原因:表的主键字段必须包含分 ...

  2. 分区实践 A PRIMARY KEY must include all columns in the table's partitioning function

    MySQL :: MySQL 8.0 Reference Manual :: 23 Partitioning https://dev.mysql.com/doc/refman/8.0/en/parti ...

  3. mysqladmin processlist; show processlist/status/open tables/engine/variables/table status/columns/grants/index/privileges/innodb status/logs/warnings/////; 结果筛选

    mysqladmin showprocesslist可查看完整sql需要权限. SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此 ...

  4. Specify Computed Columns in a Table

    https://docs.microsoft.com/en-us/sql/relational-databases/tables/specify-computed-columns-in-a-table ...

  5. How to get the mapping relationship between two columns in a table

    If a table have column A and B Count(distinct A) as Da Count(distinct B) as Db Count(distinct A, B) ...

  6. flask启动常见问题1:sqlalchemy.exc.ArgumentError: Mapper mapped class UserCode->data_system_user_email could not assemble any primary key columns for mapped table 'data_system_user_email'

    我的描述:当我编辑好flask以后,ORM映射数据库完成,启动项目时,发生现象: 解决: 看字面的意思是主键导致的错误,于是我查看了data_system_user_email的键参数配置,发现表没有 ...

  7. return columns.All(new Func<string, bool>(list.Contains));

    internal static bool VerifyColumns(SqlConnection conn, string table, params string[] columns)        ...

  8. db2 Hidden columns

    When a table column is defined with the implicitly hidden attribute, that column is unavailable unle ...

  9. Mysql --分区表(5)Columns分区

    COLUMNS分区 COLUMNS分区是RANGE和LIST分区的变种.COLUMNS分区支持多列作为分区键进行分区 RANGE COLUNMS分区和LIST COLUMNS都支持非INT型列作为分区 ...

随机推荐

  1. 微软BI 之SSAS 系列 - 关于父子维度的设计

    除了之前的几篇文章中出现的时间维度,雪花型维度的设计之外还有一种比较特殊的维度 - 父子维度.父子维度特殊就特殊在它包含了一种基于递归关系(Recursive Relationship)的引用结构,  ...

  2. 在Windows中监视IO性能

    附:在Windows中监视IO性能 本来准备写一篇windows中监视IO性能的,后来发现好像可写的内容不多,windows在细节这方面做的不是那么的好,不过那些基本信息还是有的. 在Windows中 ...

  3. WEB打印控件Lodop使用体会

                    控件的使用方法,作者都已经有详细的使用说明供使用者参考. 但是对于打印表格,确实出现一点小问题,如果表格是自然高度,也就是只设置了table的高度,此时是可以正常显示的 ...

  4. 算法笔记_233:二阶魔方旋转(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 魔方可以对它的6个面自由旋转. 我们来操作一个2阶魔方(如图1所示): 为了描述方便,我们为它建立了坐标系. 各个面的初始状态如下:x轴正向:绿x轴 ...

  5. (转)C#中Invoke的用法 一

    在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往 ...

  6. Data De-duplication

    偶尔看到data deduplication的博客,还挺有意思,记录之 http://blog.csdn.net/liuben/article/details/5829083?reload http: ...

  7. Python学习笔记七:pip

    安装pip: 到github上下载pip:https://github.com/pypa/pip 解压后,在解压出来的文件夹中打开命令行,输入 python setup.py install 安装完毕 ...

  8. Java远程方法协议(JRMP)

    Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的.用于查找和引用远程对象的协议.这是运行在Java远程方法调用(RMI)之下.TCP ...

  9. android使用百度地图SDK获取定位信息

    本文使用Android Studio开发. 获取定位信息相对简单.我们仅仅须要例如以下几步: 第一步,注冊百度账号,在百度地图开放平台新建应用.生成API_KEY.这些就不细说了,请前往这里:titl ...

  10. VREP中使用其它Lua库

    VREP中的Regular API中有一些矩阵操作的函数,不过有时候还是不能满足计算需求,这时就需要在VREP中使用其它科学计算库(或者用Python/MATLAB之类的外部程序控制). 在这里下载L ...