blog/content/docs/postgresql.md

69 lines
1.7 KiB
Markdown
Raw Normal View History

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