pg_catalog には、テーブル、列、およびその他のデータベース オブジェクトに関するメタデータが含まれています。あなたの問題はカタログの肥大化だと思います。基本的に、(psql で \d を使用して) テーブルを一覧表示するのに数秒待つ必要がある場合は、カタログをバキュームする必要があります。
GP 管理ガイドの「第 19 章: 定期的なシステム メンテナンス タスク」-「定期的なシステム カタログ メンテナンス」を確認してください。
Greenplum では、システム カタログで定期的に VACUUM を実行して、削除されたオブジェクトが占めるスペースをクリアすることをお勧めします。多数の DROP ステートメントが通常のデータベース操作の一部である場合、VACUUM を使用して毎日オフピーク時にシステム カタログ メンテナンス手順を実行するのが安全で適切です。これは、システムが実行中で利用可能なときに実行できます。次のスクリプト例は、Greenplum データベース システム カタログの VACUUM を実行します。
#!/bin/bash
DBNAME="<database_name>"
VCOMMAND="VACUUM ANALYZE"
psql -tc "select '$VCOMMAND' || ' pg_catalog.' || relname || ';' from pg_class a,pg_namespace b where a.relnamespace=b.oid and b.nspname= 'pg_catalog' and a.relkind='r'" $DBNAME | psql -a $DBNAME