We have a demo table with about 17000000 rows, the "select count(1) from demotable" statement finishes with-in 3 seconds when executed directlly against the Greenplum database,but it takes about 230 seconds to finish when executed via postgres_fdw inside PostgreSQL 9.3 beta2, I guess that it may because of postgres_fdw pulling data to the PostgreSQL instance and counts the rows there, but I think the query optimizer should pass through the count() function to the Greenplum end, and gets only the result back.
Are you able to create a function in Greenplum which is a wrapper around that count(*) and call that via the postgres_fdw?
Create a function in Greenplum like (untested, I don't have Greenplum)
create table custom_count() returns bigint as $$
select count(*) as total from yourtable;
$$ language sql;
Then from your pg db using postgres_fdw select * from that function (which resides in Greenplum).
No idea if that'll work or make a difference though.