← Retour
Informatique

PostgreSQL en version portable pour Windows

Cédrix · 17/04/2020
Modifié le 22 mai 2026 à 14h32

4/ 7 j  ·  8/ 14 j  ·  8/ 30 j  lecteurs

Publié le 7 janvier 2020

Besoin d’un PostgreSQL sur un poste Windows sans droits administrateur ni compte système postgres dédié ? Une version portable existe sur Sourceforge. Elle fonctionne avec n’importe quel compte utilisateur : il suffit de télécharger l’archive et de la décompresser dans un dossier personnel.

Source : PostgreSQL Portable sur Sourceforge

Une version packagée pour la bibliothèque PortableApps est également disponible. En revanche, aucune version 11 n’est proposée à ce jour — la dernière disponible est la 10.4.1.

Déploiement

Le téléchargement se fait en deux temps :

  1. L’archive de base : 10.1.1/PostgreSQL Portable v10.1.1.zip (environ 20 Mo).
  2. Le patch : v10.4.1/PostgreSQL Portable v10.4.1, à décompresser par-dessus dans le même dossier (PostgreSQLPortable-10).

Le lancement se fait via l’exécutable PostgreSQLPortable.exe. Une fenêtre d’initialisation apparaît brièvement.

Puis l’invite de commandes psql prend le relais. Tout est prêt.

Créer un rôle utilisateur

On crée un rôle cedric, on lui accorde le droit de créer des bases, puis on lui attribue un mot de passe :

postgres=# CREATE USER cedric;
CREATE ROLE

postgres=# ALTER ROLE cedric WITH CREATEDB;
ALTER ROLE

postgres=# ALTER USER cedric WITH ENCRYPTED PASSWORD '<password>';
ALTER ROLE

La commande \du liste les rôles existants pour vérification :

postgres=# \du
                                              Liste des rôles
 Nom du rôle |                                    Attributs                                    | Membre de
-------------+---------------------------------------------------------------------------------+-----------
 cedric      | Créer une base                                                                  | {}
 postgres    | Superutilisateur, Créer un rôle, Créer une base, Réplication, Contournement RLS | {}

Créer une base de données

La syntaxe complète de CREATE DATABASE accepte de nombreux paramètres (modèle, encodage, tablespace, limite de connexions, etc.) :

CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace ]
           [ CONNECTION LIMIT [=] connlimit ] ]

Dans le cas le plus simple, on précise uniquement le propriétaire — qui hérite automatiquement de tous les privilèges, rendant un GRANT supplémentaire inutile :

postgres=# CREATE DATABASE cedric OWNER cedric;
CREATE DATABASE

La commande \l confirme la présence de la nouvelle base :

postgres=# \l
                                  Liste des bases de données
    Nom    | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès
-----------+--------------+----------+-----------------+--------------+-----------------------
 cedric    | cedric       | UTF8     | C               | C            | =Tc/postgres
                                                                       postgres=CTc/postgres
                                                                       cedric=CTc/postgres
 postgres  | postgres     | UTF8     | C               | C            |
 template0 | postgres     | UTF8     | C               | C            | =c/postgres
                                                                       postgres=CTc/postgres
 template1 | postgres     | UTF8     | C               | C            | =c/postgres
                                                                       postgres=CTc/postgres
(4 lignes)

Changer de base et d’utilisateur

La commande \connect (ou \c) permet de basculer de base ou d’utilisateur. L’invite de commande reflète à chaque étape le contexte actif : le nom à gauche du symbole indique la base courante, et \conninfo affiche le détail complet.

postgres=# \conninfo
Vous êtes connecté à la base de données « postgres » en tant qu'utilisateur « postgres » sur l'hôte « localhost » via le port « 5432 ».

postgres=# \connect cedric
Vous êtes maintenant connecté à la base de données « cedric » en tant qu'utilisateur « postgres ».

cedric=# \connect cedric cedric
Vous êtes maintenant connecté à la base de données « cedric » en tant qu'utilisateur « cedric ».

cedric=> \conninfo
Vous êtes connecté à la base de données « cedric » en tant qu'utilisateur « cedric » sur l'hôte « localhost » via le port « 5432 ».

À noter le passage de =# (superutilisateur) à => (utilisateur standard) : un détail utile pour repérer immédiatement avec quels droits on opère.

Créer une seconde base

Pour ajouter une base supplémentaire, par exemple gestfiles, avec cedric comme propriétaire :

cedric=# CREATE DATABASE gestfiles OWNER cedric;
CREATE DATABASE

Vérification :

cedric=# \l
                                  Liste des bases de données
    Nom    | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès
-----------+--------------+----------+-----------------+--------------+-----------------------
 gestfiles | cedric       | UTF8     | C               | C            |

En résumé

PostgreSQL Portable est une solution pratique pour disposer rapidement d’un SGBD sur un poste Windows verrouillé : pas d’installation, pas de droits administrateur, un dossier qu’on déplace ou supprime à volonté. Le seul vrai bémol reste l’absence de version 11 (ou ultérieure), qui limite son usage aux environnements compatibles avec la branche 10.

Partager : ✉ Mail X in 🐘
Commentaires

Aucun commentaire pour l'instant. Soyez le premier !

Laisser un commentaire
Un code de vérification sera envoyé à votre adresse email.