It's not the client application that makes the results differ, but the database user you're connected with.
In 9.3, schemata
returns only the schemas that the session's user owns, either directly or indirectly through a granted role.
The doc says:
The view schemata contains all schemas in the current database that are owned by a currently enabled role.
Note that it was changed in later versions to be less restrictive.
See What permissions are required to return rows from information_schema.schemata? (9.3)
and How to check if PostgreSQL public schema exists?How to check if PostgreSQL public schema exists? on stackoverflow