How to find details about external tables in GPDB

Note: using pg_catalog.pg_exttable, you can see details about external table.
gpperfmon=# \dt pg_exttable
                  List of relations
   Schema   |    Name     | Type  |  Owner  | Storage 
------------+-------------+-------+---------+---------
 pg_catalog | pg_exttable | table | gpadmin | heap
(1 row)

gpperfmon=# \d pg_exttable
    Table "pg_catalog.pg_exttable"
     Column      |  Type   | Modifiers 
-----------------+---------+-----------
 reloid          | oid     | not null
 location        | text[]  | 
 fmttype         | "char"  | 
 fmtopts         | text    | 
 command         | text    | 
 rejectlimit     | integer | 
 rejectlimittype | "char"  | 
 fmterrtbl       | oid     | 
 encoding        | integer | 
 writable        | boolean | 
Indexes:
    "pg_exttable_reloid_index" UNIQUE, btree (reloid)

gpperfmon=# 
gpperfmon=# select * from pg_exttable;
reloid | location | fmttype | fmtopts | 
command | rejectlimit | rejectlimitt
ype | fmterrtbl | encoding | writable 
--------+----------------+---------+------------------------------------------------+------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------+-------------+-------------
----+-----------+----------+----------
16413 | {ALL_SEGMENTS} | t | delimiter ' ' null '\N' escape '\' | echo $GP_SEGMENT_ID 
| | 
| | 6 | f
16436 | {MASTER_ONLY} | t | delimiter ' ' null '\N' escape '\' | echo $GP_SEGMENT_ID 
| | 
| | 6 | f
16462 | {ALL_SEGMENTS} | c | delimiter ',' null '' escape '"' quote '"' | cat $GP_SEG_DATADIR/pg_log/*.csv 
| | 
| | 6 | f
16485 | {MASTER_ONLY} | c | delimiter ',' null '' escape '"' quote '"' | cat $GP_SEG_DATADIR/pg_log/*.csv 
| | 
| | 6 | f
16612 | {ALL_SEGMENTS} | c | delimiter ',' null '' escape '"' quote '"' | python -c "from gppylib.commands import unix; df=unix.DiskFree.get_disk
_free_info_local('token','$GP_SEG_DATADIR'); print '%s, %s, %s, %s' % ('$GP_SEGMENT_ID', unix.getLocalHostname(), df[0], df[3])" | | 
| | 6 | f
33625 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/system_now.dat 2> /dev/null || true 
| | 
| | 6 | f
33648 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/system_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
33671 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_system_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
33762 | {MASTER_ONLY} | c | delimiter '|' null 'null' escape '"' quote '"' | python $GPHOME/sbin/gpmon_catqrynow.py 2> /dev/null || true 
| | 
| | 6 | f
33785 | {MASTER_ONLY} | c | delimiter '|' null 'null' escape '"' quote '"' | cat gpperfmon/data/queries_now.dat 2> /dev/null || true 
| | 
| | 6 | f
33808 | {MASTER_ONLY} | c | delimiter '|' null 'null' escape '"' quote '"' | cat gpperfmon/data/queries_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
33831 | {MASTER_ONLY} | c | delimiter '|' null 'null' escape '"' quote '"' | cat gpperfmon/data/_queries_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
33930 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/iterators_now.dat 2> /dev/null || true 
| | 
| | 6 | f
33953 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/iterators_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
33976 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_iterators_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34059 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/database_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34082 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/database_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34105 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_database_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34128 | {MASTER_ONLY} | c | delimiter '|' null '' escape '"' quote '"' | python -c "import socket, os; print socket.gethostname() + \"|\" + os.g
etcwd()" | | 
| | 6 | f
34221 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/segment_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34244 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/segment_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34267 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_segment_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34360 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_emcconnect_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34447 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/snmp/snmp.host.*.txt 2> /dev/null || true 
| | 
| | 6 | f
34530 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/filerep_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34553 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/filerep_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34576 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_filerep_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34663 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/diskspace_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34686 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/diskspace_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34709 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_diskspace_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34792 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/network_interface_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34815 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/network_interface_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34838 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_network_interface_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34921 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/socket_now.dat 2> /dev/null || true 
| | 
| | 6 | f
34944 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/socket_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
34967 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_socket_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35050 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/udp_now.dat 2> /dev/null || true 
| | 
| | 6 | f
35073 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/udp_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35096 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_udp_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35179 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/tcp_now.dat 2> /dev/null || true 
| | 
| | 6 | f
35202 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/tcp_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35225 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_tcp_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35308 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/tcp_extended_now.dat 2> /dev/null || true 
| | 
| | 6 | f
35331 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/tcp_extended_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
35354 | {MASTER_ONLY} | t | delimiter '|' null 'null' escape '\' | cat gpperfmon/data/_tcp_extended_tail.dat 2> /dev/null || true 
| | 
| | 6 | f
(45 rows)
Comments