130 lines
5.1 KiB
Markdown
130 lines
5.1 KiB
Markdown
# PostgreSQL en version portable pour Windows
|
|
|
|
Le 07 janvier 2020,
|
|
|
|
Trouvé sur le site Sourceforge, la version portable de **PostgreSQL 10.4.1**. Il est annoncé qu'il n'y a pas besoin d'avoir des droits administrateur, ou un compte utilisateur `postgres` dans Windows pour faire fonctionner cette version portable. Ce SGBD fonctionne avec tous les comptes Windows. Il suffit de télécharger l'archive et de décompresser dans un dossier utilisateur.
|
|
|
|
> https://sourceforge.net/projects/postgresqlportable/
|
|
|
|
Il y a également une version packagée pour la bibliothèque **Portable Apps**.
|
|
|
|
Malheureusement, je n'ai pas trouvé de version 11.
|
|
|
|
## Déployer
|
|
J'ai téléchargé la version archivée en 10.1.1. Il s'agit d'un fichier ZIP se trouvant dans l'arborescence **10.1.1/PostgreSQL Portable v10.1.1.zip**. Il a une taille de 20 Mo.
|
|
|
|
Le fichier **v10.4.1/PostgreSQL Portable v10.4.1** contient les fichiers patchés. Je la déploie donc, dans le même dossier. Il s'agit du dossier **PostgreSQLPortable-10**
|
|
|
|

|
|
|
|
Lancement du programme **PostgreSQLPortable.exe**. Une fenêtre s'ouvre avec un message d'initialisation.
|
|
|
|

|
|
|
|
Vient l'invite de commandes PostgreSQL. Il est temps de s'y mettre...
|
|
|
|

|
|
|
|
## Créer un rôle
|
|
Création d'un rôle (utilisateur) avec affectation du rôle `Création de base` et affectation d'un mot de passe.
|
|
|
|
```SQL
|
|
postgres=# CREATE USER cedric;
|
|
CREATE ROLE
|
|
|
|
postgres=# ALTER ROLE cedric WITH CREATEDB;
|
|
ALTER ROLE
|
|
|
|
postgres=# ALTER USER cedric WITH ENCRYPTED PASSWORD '<password>';
|
|
ALTER ROLE
|
|
```
|
|
|
|
Vérification des utilisateurs présent avec la commande `\du`.
|
|
|
|
```
|
|
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éation de la base de données avec affectation des privilèges à l'utilisateur.
|
|
|
|
```
|
|
postgres=# CREATE DATABASE cedric OWNER cedric;
|
|
CREATE DATABASE
|
|
|
|
postgres=# grant all privileges on database cedric to cedric;
|
|
GRANT
|
|
```
|
|
|
|
Vérification de la présence des bases de données avec la commande `\l`.
|
|
|
|
```
|
|
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 de données et d'utilisateur
|
|
Changer d'utilisateur avec la commande `\connect`. Vous remarquerez le changement de l'invite au fur et à mesure de la validation des commandes. La commande `\conninfo` affiche les informations de connexion.
|
|
|
|
```
|
|
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-# \conninfo
|
|
Vous êtes connecté à la base de données « cedric » en tant qu'utilisateur « postgres » sur l'hôte « localhost » via le port « 5432 ».
|
|
|
|
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 ».
|
|
```
|
|
|
|
## Créer une base de données
|
|
Lors de la création de la base de données, on précise le propriétaire. On pourrait en renseigner d'autres :
|
|
```
|
|
CREATE DATABASE name
|
|
[ [ WITH ] [ OWNER [=] user_name ]
|
|
[ TEMPLATE [=] template ]
|
|
[ ENCODING [=] encoding ]
|
|
[ LC_COLLATE [=] lc_collate ]
|
|
[ LC_CTYPE [=] lc_ctype ]
|
|
[ TABLESPACE [=] tablespace ]
|
|
[ CONNECTION LIMIT [=] connlimit ] ]
|
|
```
|
|
|
|
Création :
|
|
|
|
```
|
|
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 |
|
|
``` |