Quel est le répertoire par défaut où PostgreSQL conservera toutes les bases de données sous Linux?
linux
postgresql
gruszczy
la source
la source
Réponses:
Le " répertoire où postgresql conservera toutes les bases de données " (et la configuration) est appelé "répertoire de données" et correspond à ce que PostgreSQL appelle (un peu déroutant) un " cluster de bases de données ", qui n'est pas lié à l'informatique distribuée, cela signifie simplement un groupe des bases de données et des objets associés gérés par un serveur PostgreSQL.
L'emplacement du répertoire de données dépend de la distribution. Si vous installez à partir de la source, la valeur par défaut est
/usr/local/pgsql/data
:En outre, une instance d'un serveur PostgreSQL en cours d'exécution est associée à un cluster; l'emplacement de son répertoire de données peut être passé au démon du serveur (" postmaster " ou " postgres ") dans l'
-D
option de ligne de commande, ou par laPGDATA
variable d'environnement (généralement dans la portée de l'utilisateur en cours d'exécution, généralementpostgres
). Vous pouvez généralement voir le serveur en cours d'exécution avec quelque chose comme ceci:Notez qu'il est possible, bien que peu fréquent, d'exécuter deux instances du même serveur PostgreSQL (mêmes binaires, processus différents) qui desservent différents "clusters" (répertoires de données). Bien sûr, chaque instance écouterait sur son propre port TCP / IP.
la source
Au moins dans Gentoo Linux et Ubuntu 14.04 par défaut.
Vous pouvez trouver
postgresql.conf
et regarder paramdata_directory
. S'il est commenté, le répertoire de la base de données est le même que celui du fichier de configuration.la source
/var/lib/8.1/postgresql
/var/lib/pgsql/9.3
Connectez-vous à une base de données et exécutez la commande:
Plus d'information:
https://www.postgresql.org/docs/current/sql-show.html https://www.postgresql.org/docs/current/runtime-config-file-locations.html
la source
Valeur par défaut dans Debian 8.1 et PostgreSQL 9.4 après l'installation avec le gestionnaire de paquets apt-get
donc apparemment
/var/lib/postgresql/9.4/main
.la source
Sur Centos 6.5 / PostgreSQL 9.3:
Modifiez la valeur de
"PGDATA=/var/lib/pgsql/data"
à l'emplacement de votre choix dans le fichier de script initial/etc/init.d/postgresql
.Rappelez-vous
chmod 700
etchown postgres:postgres
vers le nouvel emplacement et vous êtes le patron.la source
La commande
pg_lsclusters
(au moins sous Linux / Ubuntu) peut être utilisée pour lister les clusters existants et avec elle aussi le répertoire de données:la source
Je pense que la meilleure méthode consiste à interroger la
pg_setting
vue:Production:
la source
La requête ci-dessous vous aidera à trouver le fichier de configuration postgres.
la source