Skip to main content

Connecting to the Cluster

Once connected to the instance use the standard PostgreSQL psql client to connect to BrytlytDB by typing psql on the command line.
psql
ubuntu=#

You are connected to the cluster. View the nodes of the cluster by querying the contents of the catalogue.

ubuntu=# select node_name, node_port, node_host from pgxc_node;
node_name | node_port | node_host
---------+-------------+-----------
c0       |      5432            | localhost
d0       |     15432          | 127.0.0.1
(2 rows)

All the standard psql switches are available, including \timing to provide query runtime times and \q will disconnect and quit the psql client.

ubuntu=# \timing
Timing is on.
ubuntu=# \q >

BrytlytDB services can be viewed using the ps command.

 >ps aux    |      grep data
brytlyt            1854 /usr/local/brytlyt/bin/gtm -D /usr/local/data/g0
brytlyt            1855 /usr/local/brytlyt/bin/postgres --coordinator -D /usr/local/data/c0
brytlyt            1856 /usr/local/brytlyt/bin/postgres --datanode -D /usr/local/data/d0
ubuntu             grep --color=auto data

On instance launch, six storage disks are configured as a RAID 0 array and mounted at /usr/local/data. This is the best place to stage data for loading to the cluster. Note: the brytlyt user is the owner of this folder.

Create a table using line item from the TPC-H benchmark.

CREATE FOREIGN TABLE lineitem
( l_orderkey      INT,
  l_partkey       INT,
  l_suppkey       INT,
  l_linenumber    INT,
  l_quantity      REAL,
  l_extendedprice REAL,
  l_discount      REAL,
  l_tax           REAL,
  l_returnflag    VARCHAR(1),
  l_linestatus    VARCHAR(1),
  l_shipdate      TIMESTAMP,
  l_commitdate    TIMESTAMP,
  l_receiptdate   TIMESTAMP,
  L_shipinstruct  VARCHAR(25),
  l_shipmode      VARCHAR(10),
  l_comment       VARCHAR(44)
) SERVER gm_fdw_server OPTIONS (max_size '6001215')
DISTRIBUTE BY HASH (L_ORDERKEY);

Import data using the COPY command

COPY lineitem FROM '/usr/local/data/lineitem.tbl' WITH (DELIMITER '|');

Run some simple queries

SELECT COUNT(*) FROM lineitem;
SELECT
l_returnflag                                         ,
l_linestatus                                         ,
SUM(l_quantity)                                      sum_qty,
SUM(l_extendedprice)                                 sum_base_price,
SUM (l_extendedprice*(1-l_discount))                 sum_disc_price,
SUM (l_extendedprice*(1-l_discount)*(1+l_tax))       sum_charge,
AVG(l_quantity) avg_qty, AVG (l_extendedprice)       avg_price,
AVG (l_discount)                                     avg_disc,
COUNT(*)                                             count_order
FROM
lineitem
GROUP BY
l_returnflag,
l_linestatus
ORDER BY
l_returnflag,
l_linestatus