This is actually the default behavior for PostgreSQL is really a search path like so:

SHOW search_path;

search_path
--------------
"$user",public

It is possible to way to really make it therefore the "$user" is situation insensitive?

For example I've got a user tp1, along with a schema TP1... I would like both of them to appear as "equal"

Is even possible?

Do not ever create situation-sensitive stuff, period. Ever. It's ultimately confusing and can pressure you to definitely insert them in quotes if you use them. You can be certain your stuff is not situation-sensitive just by not using double quotes whatsoever. This is sort of a cardinal rule in Pg.

In a nutshell no you cannot, but you can include for your search_path.

test=# create schema "ECARROLL";
CREATE SCHEMA
test=# create table "ECARROLL".foo ( foobar int );
CREATE TABLE
test=# select * from foo;
ERROR:  relation "foo" does not exist

If you want you are able to hard code your other schema: SET search_path TO "$user","ECARROLL",public;

You are able to script a question from the situation-insensitive named schemas and hang them within the scripts atmosphere.

test=# SELECT schema_name FROM information_schema.schemata WHERE schema_name ILIKE current_user;
 schema_name 
-------------
 ECARROLL