How to log all SQL queries for a single connection or user or client host?
I don't know how to do it for a client host, but for a single database user, you can use this (as a superuser):

ALTER ROLE someone SET log_statement TO 'all';


Which will then turn on log_statement every time that that someone connects in the future.

For a single connection which is cooperating with you, you could create this function (as a superuser): 

create or replace function set_log_statement() returns void as $$
 set log_statement='all' 
$$ language sql security definer ;


And then have the desired single connection invoke this function to turn on logging for itself.