J'utilise AWS comme environnement cloud. J'ai installé PostgreSQL sur le même lecteur que mon volume d'instance racine. J'ai attaché et monté le deuxième lecteur à mon instance. Maintenant, je veux déplacer toutes mes données PostgreSQL sur les différents disques. Je suis toujours en mode développement, je peux donc supprimer les anciennes données si cela facilite le transfert à ce stade. Quelle est la meilleure façon de procéder?
L'espace de table PostgreSQL est-il quelque chose que je devrais regarder?
postgresql
tablespaces
postgresql-9.1
codecool
la source
la source
tablespaces
devrait pas aller sur un disque dur externe: dba.stackexchange.com/a/62037/41823 Je ne sais pas , je comprends le risque si vous mettez déjà les données sur un externe?Réponses:
Ce qui suit devrait le faire:
Il est généralement défini via un paramètre de ligne de commande (
-D
) pour votre service ou via laPGDATA
variable d'environnement.la source
la source
chown
commande du nouveau dossier.Voici une description de la façon de déplacer une base de données PostgreSQL existante vers un nouvel emplacement (dossier, partition), sur Arch Linux (cette procédure devrait être similaire pour les autres distributions Linux).
pg_dumpall
est un utilitaire pour écrire (vider) toutes les bases de données PostgreSQL d'un cluster dans un fichier de script. ... Il le fait en appelantpg_dump
pour chaque base de données du cluster. ...Par exemple:
TL / DR
Tu dois:
pg_dumpall
base de données export ( )Résumé des commandes
Je laisse mes invites de shell (nom d'hôte ...) pour clarifier dans quel shell je suis au fur et à mesure.
Exemple
Voir mon article de blog d'accompagnement, Comment déplacer une base de données PostgreSQL existante sur Arch Linux , pour le code commenté et la sortie .---
Les références
[documents postgres] pg_dumpall
[Arch Linux docs] Vidage et rechargement manuels
la source