Où sont stockés les fichiers d'une base de données PostgreSQL?
postgresql
Teifion
la source
la source
sudo -u postgres psql -c "show data_directory;"
affichera les emplacements de stockage actuels sur une installation PostgreSQL standard.Réponses:
Pour voir où se trouve le répertoire de données, utilisez cette requête.
Pour voir tous les paramètres d'exécution, utilisez
Vous pouvez créer des espaces de table pour stocker des objets de base de données dans d'autres parties du système de fichiers. Pour voir les espaces disque logiques, qui ne se trouvent peut-être pas dans ce répertoire de données, utilisez cette requête.
la source
Sous Windows7, toutes les bases de données sont référencées par un numéro dans le fichier nommé
pg_database
sousC:\Program Files (x86)\PostgreSQL\8.2\data\global
. Ensuite, vous devez rechercher le nom du dossier par ce numéro sousC:\Program Files (x86)\PostgreSQL\8.2\data\base
. Voilà le contenu de la base de données.la source
Ouvrez pgAdmin et accédez aux propriétés d'une base de données spécifique. Recherchez l'OID, puis ouvrez le répertoire
Il devrait y avoir vos fichiers DB.
la source
SELECT oid from pg_database where datname = '<dbname>'
Comme suggéré dans " Emplacement par défaut de la base de données PostgreSQL sous Linux ", sous Linux, vous pouvez le découvrir à l'aide de la commande suivante:
la source
Sous mon installation Linux, c'est ici:
/var/lib/postgresql/8.x/
Vous pouvez le changer avec
initdb -D "c:/mydb/"
la source
/var/lib/pgsql/data
. Mieux vaut découvrir en utilisantps auxw|grep postgres|grep -- -D
.L'emplacement de tables / index spécifiques peut être ajusté par TABLESPACEs:
la source
Tout le monde a déjà répondu, mais juste pour les dernières mises à jour. Si vous voulez savoir où résident tous les fichiers de configuration, exécutez cette commande dans le shell
la source
Je parie que vous posez cette question parce que vous avez essayé
pg_ctl start
et reçu l'erreur suivante:En d'autres termes, vous recherchez le répertoire à placer
-D
dans votrepg_ctl start
commande.Dans ce cas, le répertoire que vous recherchez contient ces fichiers.
Vous pouvez le localiser en localisant l'un des fichiers et répertoires ci-dessus à l'aide de la recherche fournie avec votre système d'exploitation.
Par exemple dans mon cas (une installation HomeBrew sur Mac OS X ), ces fichiers se trouvent dans
/usr/local/var/postgres
. Pour démarrer le serveur que je tape:... et il fonctionne.
la source
brew info postgres
locate <filename>
sudo locate <filename>
Postgres stocke les données dans des fichiers dans son répertoire de données. Suivez les étapes ci-dessous pour accéder à une base de données et ses fichiers:
La base de données correspondant à un fichier de table postgresql est un répertoire. L'emplacement de l'ensemble du répertoire de données peut être obtenu en exécutant
SHOW data_directory
. dans un système d'exploitation UNIX (par exemple: Mac)/Library/PostgreSQL/9.4/data
Allez dans le dossier de base dans le répertoire de données qui contient tous les dossiers de la base de données:/Library/PostgreSQL/9.4/data/base
Recherchez le nom du dossier de la base de données en exécutant (Donne un entier. Il s'agit du nom du dossier de la base de données):
Recherchez le nom du fichier table en exécutant (Donne un entier. Il s'agit du nom du fichier):
Ceci est un fichier binaire. Les détails du fichier tels que la taille et la date de création peuvent être obtenus comme d'habitude. Pour plus d'informations, lisez ce fil SO
la source
Sur Mac:
/Library/PostgreSQL/9.0/data/base
Le répertoire ne peut pas être saisi, mais vous pouvez consulter le contenu via:
sudo du -hc data
la source
/usr/local/var/postgres
lequel vous pouvez découvrir en utilisant @ MikeSherrill deshow data_directory;
la pointe/Library/PostgreSQL/9.0/data/base
semble être un emplacement plus proche de Mac que/usr/local/var/postgres
. Vous ne pouvez pas accéder à ce dernier dans le Finder sans activer les fonctionnalités cachées du Finder.Sous Windows, le répertoire PGDATA décrit par les documents PostgresSQL se trouve quelque part comme
C:\Program Files\PostgreSQL\8.1\data
. Les données pour une base de données particulière sont sous (par exemple)C:\Program Files\PostgreSQL\8.1\data\base\100929
, où je suppose que 100929 est le numéro de la base de données.la source
la réponse de picmate est juste. sur Windows, l'emplacement du dossier DB principal est (au moins sur mon installation)
et non dans les fichiers programme.
ses 2 scripts, vous donneront le répertoire / fichier (s) dont vous avez besoin:
le mien est en datname 16393 et relfilenode 41603
la source
J'exécute postgres (9.5) dans un conteneur docker (sur CentOS, comme cela arrive), et comme Skippy le Grand Gourou le mentionne dans un commentaire ci-dessus, les fichiers sont situés dans
/var/lib/postgresql/data/
.la source