How to retrieve object definition in SQL for:
Use the pg_dump schema capabilities.
Example
####mac:pg_log #####$ pg_dump -s -t tt1 -- -- Greenplum Database database dump -- SET statement_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; -- -- Name: tt1; Type: TABLE; Schema: public; Owner: ######; Tablespace: -- CREATE TABLE tt1 ( a integer, b text ) DISTRIBUTED BY (a); ALTER TABLE public.tt1 OWNER TO ######; -- -- Greenplum Database database dump complete --
This also works on other types of objects.
######mac:pg_log ######$ pg_dump -s -t v1 -- -- Greenplum Database database dump -- SET statement_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; SET default_with_oids = false; -- -- Name: v1; Type: VIEW; Schema: public; Owner: ###### -- CREATE VIEW v1 AS SELECT tt1.a, tt1.b FROM tt1; ALTER TABLE public.v1 OWNER TO #####; -- -- Greenplum Database database dump complete -- lpetrovmac:pg_log lpetrov$ pg_dump -s -t s1 -- -- Greenplum Database database dump -- SET statement_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; SET default_with_oids = false; -- -- Name: s1; Type: SEQUENCE; Schema: public; Owner: ####### -- CREATE SEQUENCE s1 START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ALTER TABLE public.s1 OWNER TO ######; -- -- Greenplum Database database dump complete --