my $s = $c->model('MyDB'); my $result = $s ->resultset('Client') -> search( { 'id' => $id }, join => [qw/ user /], ); Result SQL: SELECT COUNT( * ) FROM client me LEFT OUTER JOIN users user ON ( user.user_id = me.user_id ) WHERE ( id = ? ) But 'user' - it is PostgreSQL reserve word. can I change alias for table users ?