The Vertica Forum recently got a makeover! Let us know what you think by filling out this short, anonymous survey.
Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!

The Parts of a Session ID

Jim_KnicelyJim_Knicely - Select Field - Administrator

A Vertica Session is an occurrence of a user interacting with a database through the use of SQL statements. Each Session has a an associated Session Identifier stored in the SESSION_ID column of many of the Vertica system tables. The Session ID is a unique identifier within the cluster at any point in time but can be reused after the session closes.


dbadmin=> SELECT session_id, node_name, client_hostname, client_pid, client_os_user_name
dbadmin->   FROM sessions;
           session_id            |     node_name      |  client_hostname   | client_pid | client_os_user_name
v_test_db_node0001-16441:0x26b2 | v_test_db_node0001 | ::1:48442          |      54681 | dbadmin
v_test_db_node0002-25835:0xe0a  | v_test_db_node0002 | |     323864 | knicely
v_test_db_node0002-25835:0x1070 | v_test_db_node0002 | |     323012 | knicely
(3 rows)

The SESSION_ID is comprised of a Node Name, Process ID and Sequence# having the format NodeName-ProcessID:Sequence#, where the Node Name is the Initiator Node and the Sequence Number is a uniquely (at session create time) Vertica generated Hex number.

But where does the Process ID come from? It’s the Vertica Process ID on the initiator node!


dbadmin=> SELECT local_node_name();
(1 row)

dbadmin=> \! ps -ef | grep [5]433| awk '{print $2}'

dbadmin=> \! ssh vertica02 "ps -ef | grep [5]433" | awk '{print $2}'

Have fun!

Helpful links:

Have fun!

Sign In or Register to comment.