Are PostgreSQL cursor bound to connection?
Yes, cursors are not shared across sessions, and their namespace is private to their session as well.

Moreover, if the cursor is not declared "holdable" trough the WITH HOLD clause, it's automatically closed at the end of the transaction.

The relationship between cursor lifespan and session is detailed in the docpage for CLOSE:


  Every non-holdable open cursor is implicitly closed when a transaction
  is terminated by COMMIT or ROLLBACK. A holdable cursor is implicitly
  closed if the transaction that created it aborts via ROLLBACK. If the
  creating transaction successfully commits, the holdable cursor remains
  open until an explicit CLOSE is executed, or the client disconnects.