Execute a plugin only on post pages

No, the plugin is loaded long before WordPress has figured out if it should display a single post.

But you can restrict the code of the plugin to do something only then.

Example:

add_action( 'template_redirect', function() {

    if ( ! is_single() )
        return;

    // initialize plugin code here.
});