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)