# Importer un fichier SQL

> Charge un export .sql ou .sql.gz dans une base PostgreSQL ou MariaDB depuis l’espace client, jusqu’à 5 Go, avec une sauvegarde avant l’import.

Source : https://docs.arkya.gg/bases-de-donnees/import-sql

## Préparer l’export

Exporte ta base d’origine en SQL. Compresse-le en `.gz` s’il est gros.

**PostgreSQL**

```bash
pg_dump --no-owner --no-privileges "postgres://utilisateur@ancien-hote/ma_base" | gzip > export.sql.gz
```

**MariaDB et MySQL**

```bash
mysqldump --single-transaction --routines -h ancien-hote -u utilisateur -p ma_base | gzip > export.sql.gz
```

`--no-owner` et `--no-privileges` évitent les erreurs sur des utilisateurs qui n’existent pas chez Arkya.

## Importer

1. Ouvre l’onglet **Données** de la base, puis **Importer un fichier SQL**.
2. Choisis le fichier : `.sql` ou `.sql.gz`, 5 Go au plus.
3. Choisis la base cible : la base principale, ou une autre base du même serveur.
4. Garde les deux options cochées, sauf raison contraire :
   - **S’arrêter à la première erreur** ; sinon, les erreurs sont comptées et l’import continue ;
   - **Sauvegarder avant l’import**, pour pouvoir revenir en arrière.
5. Lance l’import.

Le fichier part directement de ton navigateur vers le stockage d’Arkya, puis l’import s’exécute à côté de ta base. En cas d’échec, l’espace client affiche les dernières erreurs.

## Les règles

- PostgreSQL et MariaDB seulement : Redis n’importe pas de SQL.
- Un import à la fois par base, deux heures au plus.
- La base doit être allumée.
- Le CLI n’a pas de commande d’import.

> **Bon à savoir**
>
> Pour un import en plusieurs fois, ou un export régulier, passe par ton application : elle joint la base depuis le projet.
