<!--
Les sources et discussions pour ces sujets sont :

* Allow psql to parse, bind, and close named prepared statements (Anthonin
Bonnefoy, Michael Paquier) §

  - This is accomplished with new commands \parse, \bind_named, and \close.
  - https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d55322b0d
    https://postgr.es/m/CAO6_XqpSq0Q0kQcVLCbtagY94V2GxNP3zCnR6WnOM8WqXPK4nw@mail.gmail.com
-->

<div class="slide-content">

  * Nouvelles métacommandes :
    - `\parse`, `\bind_named` et `\close`.
  * Principalement destinées aux tests de non régression

</div>

<div class="notes">

Les métacommandes de psql ne supportaient jusqu'à maintenant pas les requêtes
préparées nommées. `\bind` permettait uniquement la création de requêtes
préparées non nommées. Voici un exemple de son utilisation :

```default
postgres=# SELECT relname, relkind FROM pg_class WHERE relname = $1 \bind 'pg_class' \g
 relname  | relkind
----------+---------
 pg_class | r
(1 row)
```

Trois nouvelles options sont désormais disponibles pour créer des requêtes préparées
nommées dans `psql` :

* `\parse` : crée une requête préparée ;
* `\bind_named` : bind et exécute une requête préparée ;
* `\close` : supprime une requête préparée.

Voici un exemple de leur utilisation :

```default
postgres=# SELECT relname, relkind FROM pg_class WHERE relname = $1 \parse pgclass

postgres=# \bind_named pgclass 'pg_class' \g
 relname  | relkind
----------+---------
 pg_class | r
(1 row)

postgres=# \bind_named pgclass 'pg_shadow' \g
  relname  | relkind
-----------+---------
 pg_shadow | v
(1 row)

postgres=# \close pgclass
```

Ces métacommandes permettent de tester le protocole de communication étendu de
PostgreSQL directement via `psql`. Elles vont permettre d'améliorer les tests de
non régression.

</div>
