Importer un fichier
Raster2pgsql
Raster2pgsql est l'utilitaire fourni avec PostGIS pour importer un jeu de données Raster dans la base PostgreSQL.
À l'instar de shp2pgsql, raster2pgsql ne se connecte pas directement à la base, mais produit les requêtes SQL qui créent le(s) raster(s) selon les options paramétrées. Ces requêtes SQL peuvent être enregistrées dans un fichier .sql qui sera ensuite exécuté par un client tel que psql ou pgAdmin.
Il faut appeler le programme « raster2pgsql » qui a été installé avec PostGIS.
Sous Windows, Si la variable « Path » n'a pas été modifiée (comme indiqué précédemment), il faudra l'appeler par son chemin complet, qu'on obtiendra en faisant une recherche dans C:\Program Files\PostgreSQL\Numero_de_version\bin.
Depuis le terminal, on lance tout d'abord « raster2pgsql » sans argument pour vérifier que la commande est bien trouvée, et obtenir de l'aide sur son utilisation.
raster2pgsql
Pour importer le modèle numérique de terrain de la commune de la flèche nommé « mnt_25m_asc.asc » du répertoire de travail, il faut d'abord générer la requête SQL, raster2pgsql permet cette action :
raster2pgsql mnt_25m_asc.asc >mnt_25m.sql
Sous Windows, si la manipulation vous semble compliquée, créez un fichier "pg.bat" (avec le bloc-notes par exemple) et copiez le code ci-dessous dedans (modifiez les chemins d'accès s'ils sont différents), puis lancez le fichier .bat :
@echo off
cd C:/Rasterwork
"C:\Program Files\PostgreSQL\12\bin\raster2pgsql.exe" mnt_25m_asc.asc >mnt_25m.sql
pause
psql
Pour effectuer l'importation proprement dite dans la base PostGIS, il faut ensuite exécuter le SQL dans la base concernée.
On peut théoriquement utiliser pgadmin et ouvrir le fichier SQL dans la fenêtre SQL (« fichier » → « ouvrir), mais cette approche se révèlera limitée pour des fichiers SQL trop lourds : pour un fichier raster donné, le fichier SQL pèse en général 2 à 3 fois plus lourd, soit 100 Mo ou 200 Mo pour un raster de 50 Mo telle que l'orthophotoplan « 0468_6739-20.tif ».
Pour cette raison, on utilisera le client « psql.exe » en ligne de commande.
Il faut donc appeler le client psql pour la base de données « formation » en indiquant le fichier « mnt_25m.sql », comme ceci :
psql.exe -h localhost -U postgres -W -d formation -f mnt_25m.sql
Un mot de passe est demandé : c'est toujours celui de l'utilisateur « postgres », c'est-à-dire « postgres » s'il n'a pas été changé.
Attention : Lorsque le mot de passe est demandé dans un terminal, rien ne s'affiche à l'écran lors de la frappe. Il suffit de taper le mot de passe puis "entrer". C'est un comportement normal.

La commande ne doit retourner aucune erreur. On peut alors vérifier avec pgAdmin que la table « mnt_25m » a bien été créée dans la base.
Attention : Erreur d'importation
L'erreur psql:mnt_25m.sql:1: NOTICE: l'identifiant (...) sera tronqué en (...) peut apparaître lors de l'import.
Ceci est inhérent au langage SQL. Il est alors plus simple de réaliser l'import depuis pgAdmin : lancer le requêteur, ouvrir le fichier mnt_25m.sql puis exécuter la commande classiquement.