blog/content/docs/server/postgresql.md

66 lines
1.5 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
## 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 :
```fish
chattr +C /var/lib/postgres
2022-08-22 19:18:10 +02:00
```
## 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 :
```fish
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 :
```fish
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 :
```fish
dropuser [-i/--interactive] [user]
2022-08-22 18:43:36 +02:00
```
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 :
```fish
createdb [-O owner] [dbname [description]]
2022-08-22 18:43:36 +02:00
```
## 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