Does the inverse image sheaf have a left adjoint for $\mathsf{Set}$-valued sheaves? It's known that for sheaves with values in modules, the inverse image sheaf functor $j^\ast$ for $j:U\subset X$ an inclusion of an open set has a left adjoint which is extension by zero.
Is there any way to carry this over to $\mathsf{Set}$-valued sheaves where no zero object is available?

Let $j : U \to X$ be the inclusion of an open subspace. Then $j^* : \mathbf{Sh} (X) \to \mathbf{Sh} (U)$ has a left adjoint $j_! : \mathbf{Sh} (U) \to \mathbf{Sh} (X)$: given a sheaf $F$ on $U$, 
$$j_! F (V) = \begin{cases}
F (V) & \text{if } V \subseteq U \\
\emptyset & \text{otherwise}
\end{cases}$$
the idea being that $(j_! F)_x = F_x$ for $x \in U$ and $(j_! F)_x = \emptyset$ for $x \notin U$.
The easiest way to see this is to use the espace étalé definition of "sheaf". Then $j_!$ is just postcomposition with $j : U \to X$, while $j^*$ is pullback along $j : U \to X$. 
