2022-08-22 18:43:36 +02:00
|
|
|
---
|
2022-08-22 18:55:16 +02:00
|
|
|
title: "PostgreSQL"
|
2022-08-22 18:43:36 +02:00
|
|
|
weight: 1
|
|
|
|
# bookFlatSection: false
|
|
|
|
# bookToc: true
|
|
|
|
# bookHidden: false
|
|
|
|
# bookCollapseSection: false
|
|
|
|
# bookComments: false
|
|
|
|
# bookSearchExclude: false
|
|
|
|
---
|
|
|
|
|
2022-08-22 18:55:16 +02:00
|
|
|
# PostgreSQL
|
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
*Sur cette page, `$` signifie que la commande doit être executée par un utilisateur avec les permissions requises,
|
|
|
|
comme exemple l'utilisateur `postgres`.*
|
2022-08-22 18:55:16 +02:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
### Archlinux
|
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
Sur Archlinux, PostgreSQL est disponible par le paquet `postgresql` dans `[extra]`.
|
2022-08-22 18:55:16 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
Les versions majeures de PostgreSQL sont incompatibles entre elles. Les instructions de la
|
|
|
|
[documentation officielle][1] doivent être suivies.
|
2022-08-22 18:55:16 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
Les mises à jour peuvent être évitées en ajoutant `postgresql` et `postgresql-libs` à `IgnorePkg` dans
|
|
|
|
`pacman.conf`.
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
## Préparation du système de fichiers
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
Si un système de fichiers Btrfs est utilisé, la copie en écriture doit être désactivée :
|
|
|
|
```
|
|
|
|
# chattr +C /var/lib/postgres
|
|
|
|
```
|
|
|
|
|
|
|
|
## Configuration initiale
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
La base de données peut être initialisée à l'aide de la commande suivante :
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
2022-08-22 19:18:10 +02:00
|
|
|
$ initdb [--locale=C.UTF-8] [--encoding=UTF8] -D /var/lib/postgres/data [--data-checksums]
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
PostreSQL peut ensuite être démarré à l'aide du service systemd `postgresql`.
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
## Utilisation
|
|
|
|
### Création d'utilisateurs
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
La commande suivante peut être utilisée :
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
2022-08-22 19:18:10 +02:00
|
|
|
$ createuser [-s/--superuser] [--interactive] [user]
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
Les utilisateurs peuvent être supprimés avec la commande suivante :
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
|
|
|
$ dropuser [-i/--interactive] [user]
|
|
|
|
```
|
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
### Création de bases de données
|
2022-08-22 18:43:36 +02:00
|
|
|
|
2022-08-22 19:18:10 +02:00
|
|
|
La commande suivante peut être utilisée :
|
2022-08-22 18:43:36 +02:00
|
|
|
```
|
|
|
|
$ createdb [-O owner] [dbname [description]]
|
|
|
|
```
|
|
|
|
|
|
|
|
## Sources
|
|
|
|
|
|
|
|
1. <https://wiki.archlinux.org/title/PostgreSQL>
|
2022-08-22 19:18:10 +02:00
|
|
|
|
|
|
|
[1]: https://www.postgresql.org/docs/current/upgrading.html
|