DBD::Gofer is a stateless-proxy driver for communicating with a remote DBI.
$original_dsn = "dbi:..."; # your original DBI Data Source Name
$dbh = DBI->connect("dbi:Gofer:transport=$transport;...;dsn=$original_dsn",
$user, $passwd, %attributes);
... use $dbh as if it was connected to $original_dsn ...
The transport=$transport part specifies the name of the module to use to transport the requests to the remote DBI. If $transport doesn't contain any double colons then it's prefixed with DBD::Gofer::Transport::.
The dsn=$original_dsn part must be the last element of the DSN because everything after dsn= is assumed to be the DSN that the remote DBI should use.
The ... represents attributes that influence the operation of the Gofer driver or transport. These are described below or in the documentation of the transport module being used.
DBD::Gofer is a DBI database driver that forwards requests to another DBI driver, usually in a seperate process, often on a separate machine. It tries to be as transparent as possible so it appears that you are using the remote driver directly.
DBD::Gofer is very similar to DBD::Proxy. The major difference is that with DBD::Gofer no state is maintained on the remote end. That means every request contains all the information needed to create the required state. (So, for example, every request includes the DSN to connect to.) Each request can be sent to any available server. The server executes the request and returns a single response that includes all the data.
This is very similar to the way http works as a stateless protocol for the web. Each request from your web browser can be handled by a different web server process.