## 27.2 Performance Schema Build Configuration

 The Performance Schema is mandatory and always compiled in. It is possible to exclude certain parts of the Performance Schema instrumentation. For example, to exclude stage and statement instrumentation, do this:

```
$> cmake . \
        -DDISABLE_PSI_STAGE=1 \
        -DDISABLE_PSI_STATEMENT=1
```

 For more information, see the descriptions of the `DISABLE_PSI_*`XXX`*` **CMake** options in [Section 2.9.7, “MySQL Source-Configuration Options”](source-configuration-options.html).

 If you install MySQL over a previous installation that was configured without the Performance Schema (or with an older version of the Performance Schema that has missing or out-of-date tables). One indication of this issue is the presence of messages such as the following in the error log:

```
[ERROR] Native table 'performance_schema'.'events_waits_history'
has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_history_long'
has the wrong structure
...
```

 To correct that problem, perform the MySQL upgrade procedure. See [Section 2.11, “Upgrading MySQL”](upgrading.html).

 Because the Performance Schema is configured into the server at build time, a row for [`PERFORMANCE_SCHEMA`](performance-schema.html) appears in the output from [`SHOW ENGINES`](show-engines.html). This means that the Performance Schema is available, not that it is enabled. To enable it, you must do so at server startup, as described in the next section.

