{"id":2571,"date":"2012-07-02T02:35:00","date_gmt":"2012-07-02T00:35:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/"},"modified":"2012-07-02T02:35:00","modified_gmt":"2012-07-02T00:35:00","slug":"postgresql-quai-je-install-o-sont-mes-donnes","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/","title":{"rendered":"PostgreSQL : Qu&#8217;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?"},"content":{"rendered":"<p>Dans mon dernier article sur PostgreSQL, j&#8217;ai pr\u00e9sent\u00e9 l&#8217;installation du logiciel en explorant les 2 solutions suivantes, l&#8217;installation Debian et l&#8217;installation EntrepriseDB. Ces deux installations cr\u00e9ent imm\u00e9diatement un cluster de base de donn\u00e9es, Debian nous imposant le point de stockage et EntrepriseDB nous proposant de saisir une destination. Je vous propose maintenant d&#8217;explorer ce qui a \u00e9t\u00e9 install\u00e9 sur votre disque \u00e0 la mise en route de ce cluster de base et d&#8217;analyser les diff\u00e9rences entre les deux installations.<\/p>\n<h3><\/h3>\n<h3>Qu&#8217;installe-t-on ?<\/h3>\n<p>Avant d&#8217;examiner comment et o\u00f9 sont install\u00e9s les binaires, je vais revenir sur l&#8217;installation \u00e0 partir des sources. Cette installation, si elle est faite dans sa version courte d\u00e9crite dans le fichier INSTALL des sources, met les binaires dans le r\u00e9pertoire \/usr\/local\/pgsql ainsi que les librairies et documentation. Cette installation courte nous propose m\u00eame de positionner les donn\u00e9es dans un r\u00e9pertoire data sous \/usr\/local\/pgsql, ceci n&#8217;est pas recommand\u00e9 pour une base de donn\u00e9es de production.<\/p>\n<p>Une lecture plus approfondie montre que tout est param\u00e9trable \u00e0 l&#8217;installation avec des param\u00e8tres permettant de pr\u00e9ciser o\u00f9 installer chaque \u00e9l\u00e9ments (binaires, librairie ..), par l&#8217;utilisation d&#8217;une ou plusieurs des options d\u00e9crites ci-dessous sur la ligne de commande configure<\/p>\n<ul>\n<li>&#8211;prefix=PREFIX ,<\/li>\n<li>\u00a0&#8211;exec-prefix=EXEC-PREFIX ,<\/li>\n<li>\u00a0&#8211;bindir=DIRECTORY etc &#8230;. ( voir le fichier INSTALL )<\/li>\n<\/ul>\n<p>Exemple :<\/p>\n<p><tt class=\"filename\">$SOURCEDIR\/configure <\/tt>&#8211;prefix=\/u00\/app\/postgresql\/product\/9.1.3 <tt class=\"option\">--with-perl --with-python<\/tt><\/p>\n<h3>Du cot\u00e9 des binaires<\/h3>\n<p>On peut constater que les &#8220;packageurs&#8221; ont fait des choix coh\u00e9rents avec l&#8217;organisation des binaires dans leur distribution.<br \/>\nLa distribution SuSE installe tous les binaires dans \/usr\/bin\/ et les librairies dans \/usr\/lib64\/postgresql.<br \/>\nLa distribution Debian installe tout dans \/usr\/lib\/postgresql\/version.<br \/>\nNous ne pouvons pas modifier les points d&#8217;installation dans une distribution, donc pour cela nous devons installer depuis les sources ou utiliser l&#8217;installation d&#8217;EntrepriseDB.<br \/>\nCelle-ci nous permet de choisir le point d&#8217;installation o\u00f9 on retrouvera l&#8217;ensemble des binaires, librairies et scripts de gestion.<\/p>\n<h3>Du cot\u00e9 des donn\u00e9es<\/h3>\n<p>Concernant les donn\u00e9es, il y a peu de diff\u00e9rences, Suse et Debian s&#8217;appuient sur la commande initdb. Les diff\u00e9rences se trouvent essentiellement dans la mani\u00e8re de g\u00e9rer l\u2019emplacement des fichiers de configuration et des versions.<br \/>\nDebian et ses variantes cr\u00e9ent le cluster en utilisant la commande pg_createcluster qui pose les fichiers de configuration dans une arborescence li\u00e9e \u00e0 la version et au nom du cluster dans \/etc (et non pas dans le r\u00e9pertoire de donn\u00e9es PGDATA), qui est par d\u00e9faut dans le r\u00e9pertoire \/usr\/lib\/postgresql\/version\/nomcluster.<br \/>\nEntrepriseDB installe un cluster de base de donn\u00e9es en gardant dans le r\u00e9pertoire des donn\u00e9es, les fichiers de configuration.<\/p>\n<h3>Du cot\u00e9 startup<\/h3>\n<p>Le script Debian de d\u00e9marrage g\u00e9re deux param\u00e8tres : la version et le nom du cluster. Le script de SuSE ne pr\u00e9voit pas une installation multiple. EntrepriseDB cr\u00e9e \u00e0 l&#8217;installation un script de d\u00e9marrage, mais un seul par version de binaire.<\/p>\n<h3>La structure physique des donn\u00e9es PostgreSQL<\/h3>\n<p>La structure de l&#8217;arborescence constituant le cluster est la m\u00eame pour toutes les installations, on trouve une diff\u00e9rence dans le positionnement des log applicatifs, EntrepriseDB a introduit dans l&#8217;arborescence un r\u00e9pertoire pg_log ou sont stock\u00e9s les fichiers de log applicatif ( trace ).<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\"><samp><\/samp>drwx------ 12 postgres postgres\u00a0 4096 2012-05-04 06:09 .\ndrwxr-xr-x\u00a0 4 root\u00a0\u00a0\u00a0\u00a0 root\u00a0\u00a0\u00a0\u00a0\u00a0 4096 2012-05-02 05:39 ..\ndrwx------\u00a0 7 postgres postgres\u00a0 4096 2012-05-02 10:07 base\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-04 06:09 global\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-02 05:29 pg_clog\n-rw-------\u00a0 1 postgres postgres\u00a0 3465 2012-05-02 06:38 pg_hba.conf\n-rw-------\u00a0 1 postgres postgres\u00a0 1631 2012-05-02 05:29 pg_ident.conf\ndrwxr-xr-x\u00a0 2 postgres postgres\u00a0 4096 2012-05-04 06:09 pg_log\ndrwx------\u00a0 4 postgres postgres\u00a0 4096 2012-05-02 05:29 pg_multixact\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-04 06:14 pg_stat_tmp\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-02 05:29 pg_subtrans\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-02 05:29 pg_tblspc\ndrwx------\u00a0 2 postgres postgres\u00a0 4096 2012-05-02 05:29 pg_twophase\n-rw-------\u00a0 1 postgres postgres\u00a0\u00a0\u00a0\u00a0 4 2012-05-02 05:29 PG_VERSION\ndrwx------\u00a0 3 postgres postgres\u00a0 4096 2012-05-02 10:13 pg_xlog\n-rw-rw-r--\u00a0 1 postgres postgres 16897 2012-05-02 05:29 postgresql.conf\n-rw-------\u00a0 1 postgres postgres\u00a0\u00a0\u00a0 80 2012-05-04 06:09 postmaster.opts\n-rw-------\u00a0 1 postgres postgres\u00a0\u00a0\u00a0 49 2012-05-04 06:09 postmaster.pid<samp><\/samp><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Vue graphique (Debian)<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png\" alt=\"Screenshot_3_1\" width=\"554\" height=\"309\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Nous constatons que les distributions proposent une organisation des binaires mais pas vraiment une organisation de d\u00e9ploiement utilisable en production.<\/p>\n<p>Il est possible de proposer une organisation proche de celle que nous proposons pour les instances Oracle et MySQL quant au positionnement des tablespaces, archives et fichiers d&#8217;administration.<\/p>\n<h3>Organistion du r\u00e9pertoire PGDATA<\/h3>\n<p>Comment s&#8217;organise l&#8217;instance \/ cluster dans ce repertoire? Un cluster est compos\u00e9 de r\u00e9pertoires et de fichiers :<\/p>\n<ul>\n<li>R\u00e9pertoire de donn\u00e9es<\/li>\n<li>Fichiers de configuration,versions et fichiers PID<\/li>\n<li>R\u00e9pertoire des Tablespaces<\/li>\n<li>R\u00e9pertoire statistiques<\/li>\n<li>R\u00e9pertoire de trace <\/li>\n<li>R\u00e9pertoire de log (wal files)<\/li>\n<\/ul>\n<h3>Descriptions des r\u00e9pertoires<\/h3>\n<p>Le r\u00e9pertoire base contient les fichiers de donn\u00e9es (tables, index, s\u00e9quences). Il contient un sous-r\u00e9pertoire par base de donn\u00e9es. Dans ces r\u00e9pertoires, on trouve un \u00e0 N fichiers par objet \u00e0 stocker.<br \/>\nPar exemple, une table sera constitu\u00e9e de plusieurs fichiers :<\/p>\n<ul>\n<li>Si le nom est postfix\u00e9 par un &#8216;.1&#8217;, &#8216;.2&#8217;, cela montre qu&#8217;il s&#8217;agit d&#8217;un fichier d&#8217;extension Chunk de 1GB.<\/li>\n<li>Si le nom est postfix\u00e9 par _fsm, il s&#8217;agit du fichier stockant la Free Space Map<\/li>\n<li>Si le nom est postfix\u00e9 par _vm, il s&#8217;agit du fichier stockant la Visibility Map<\/li>\n<\/ul>\n<p>Le r\u00e9pertoire \u201cglobal\u201d contient les objets qui sont &#8220;globaux&#8221; \u00e0 tout le cluster, comme la table des bases de donn\u00e9es, la table des r\u00f4les et des tablespaces. C&#8217;est en quelque sorte un micro tablespace SYSTEM au sens ORACLE.<\/p>\n<p>Le r\u00e9pertoire pg_log contient les traces de la base de donn\u00e9es. Il est pr\u00e9sent ou absent en fonction du param\u00e9trage du cluster. Les fichiers traces sont des fichiers textes contenant des alertes, des requetes sql.<\/p>\n<p>Plusieurs param\u00e8tres (plus de 15 ) permettent de d\u00e9finir ou quoi et \u00e0 quel niveau tracer.<\/p>\n<h3>Exemple de trace :<\/h3>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">2012-05-02 05:39:59 PDT LOG:\u00a0 autovacuum launcher started\n2012-05-02 05:39:59 PDT LOG:\u00a0 database system is ready to accept connections\n2012-05-02 09:22:08 PDT LOG:\u00a0 received SIGHUP, reloading configuration files\n2012-05-02 09:38:13 PDT ERROR:\u00a0 language \"plpgsql\" already exists\n2012-05-02 09:38:13 PDT STATEMENT:\u00a0 CREATE PROCEDURAL LANGUAGE plpgsql;\n \n2012-05-02 09:38:17 PDT WARNING:\u00a0 no privileges could be revoked for \"public\"\n2012-05-02 09:38:18 PDT WARNING:\u00a0 no privileges could be revoked for \"public\"\n2012-05-02 09:38:18 PDT WARNING:\u00a0 no privileges were granted for \"public\"\n2012-05-02 09:38:18 PDT WARNING:\u00a0 no privileges were granted for \"public\"\n2012-05-02 10:13:21 PDT LOG:\u00a0 received fast shutdown request\n2012-05-02 10:13:21 PDT LOG:\u00a0 aborting any active transactions\n2012-05-02 10:13:21 PDT LOG:\u00a0 autovacuum launcher shutting down<\/pre>\n<p>Les r\u00e9pertoires \u201cpg_clog\u201d, \u201cpg_multixact\u201d, \u201cpg_serial\u201d, \u201cpg_subtrans\u201d et \u201cpg_twophase\u201d contiennent des fichiers de gestion des transactions.<\/p>\n<h3>Le r\u00e9pertoire pg_tblspc<\/h3>\n<p>Il y est stock\u00e9 uniquement des liens symboliques vers les r\u00e9pertoires o\u00f9 sont \u00e9crites r\u00e9ellement les donn\u00e9es. Un cluster \/ instance \u00e0 deux tablespaces par d\u00e9faut dont les noms sont dans pg_tablespace.<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">postgres=# select * from pg_tablespace;\n spcname\u00a0\u00a0 | spcowner | spclocation | spcacl | spcoptions \n------------+----------+-------------+--------+------------\n pg_default |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | \n pg_global\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | <samp><\/samp><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>D\u00e9finir une tablespace<\/h3>\n<p>La creation d&#8217;un tablespace se fait par la commande suivante :<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">CREATE TABLESPACE CAVE location '\/u02\/postgresql\/data\/prod913\/cave' ;\n CREATE TABLESPACE tp location '\/u02\/postgresql\/data\/prod913\/tp' ;\n \npostgres=# select * from pg_tablespace;\n spcname\u00a0\u00a0 | spcowner |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 spclocation\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | spcacl | spcoptions \n------------+----------+-----------------------------------+--------+------------\n pg_default |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | \n pg_global\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | \n cave\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 | \/u02\/postgresql\/data\/prod913\/cave |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | \n tp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 | \/u02\/postgresql\/data\/prod913\/tp\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | <samp><\/samp><\/pre>\n<p><samp><br \/>\n<\/samp><\/p>\n<p>Que voyons nous au niveau du syst\u00e9me de fichier ?<\/p>\n<h3>Dans pg_tblsp<\/h3>\n<p>Des liens vers les localisations que nous avons sp\u00e9cifi\u00e9s \u00e0 la cr\u00e9ation du tablespace.<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">postgres@ubuntu:\/u01\/postgresql\/data\/prod913\/pg_tblspc$ ls -la\ntotal 8\ndrwx------\u00a0 2 postgres postgres 4096 2012-05-04 07:50 .\ndrwx------ 14 postgres postgres 4096 2012-05-04 06:09 ..\nlrwxrwxrwx\u00a0 1 postgres postgres\u00a0\u00a0 33 2012-05-04 07:49 16514 -&gt; \/u02\/postgresql\/data\/prod913\/cave\nlrwxrwxrwx\u00a0 1 postgres postgres\u00a0\u00a0 31 2012-05-04 07:50 16515 -&gt; \/u02\/postgresql\/data\/prod913\/tp<\/pre>\n<p>&nbsp;<\/p>\n<p>Et dans le r\u00e9pertoire de destination un r\u00e9pertoire ne contenant aucun objet car nous n&#8217;avons pas encore cr\u00e9\u00e9 de table dans ce tablespace.<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">postgres@ubuntu:\/u01\/postgresql\/data\/prod913\/pg_tblspc$ ls -la \/u02\/postgresql\/data\/prod913\/cave\ntotal 12\ndrwx------ 3 postgres postgres 4096 2012-05-04 07:49 .\ndrwxr-xr-x 4 postgres postgres 4096 2012-05-04 07:40 ..\ndrwx------ 2 postgres postgres 4096 2012-05-04 07:49 PG_9.1_201105231<\/pre>\n<p>&nbsp;<\/p>\n<h3>Les Tablespaces dans PgAdmin3<\/h3>\n<p>PgAdmin nous permets de visualiser plus facilement la structure.<br \/>\n<img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_2.png\" alt=\"Screenshot_3_2\" width=\"268\" height=\"450\" \/><\/p>\n<p>Pour comprendre ce que contiendra le r\u00e9pertoire de destination du tablespace nous allons cr\u00e9er une table.<\/p>\n<h3>Cr\u00e9ation d&#8217;une table dans un tablespace<\/h3>\n<p>Pour cela connectons nous \u00e0 la base cave avec le role caviste.c cave<br \/>\nYou are now connected to database &#8220;cave&#8221; as user &#8220;postgres&#8221;.<samp><br \/>\n<\/samp><samp><\/samp><\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\"><samp><\/samp>cave=# set role caviste ;\nSET\ncave=&gt; create table reg tablespace CAVE as select * from region;\nERROR:\u00a0 permission denied for tablespace cave<samp><\/samp><\/pre>\n<p>Il nous faut d&#8217;abord autoriser caviste \u00e0 utiliser ce tablespace.<samp><\/samp><\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\"><samp><\/samp>cave=&gt; q\npostgres@ubuntu:~$ psql \npsql.bin (9.1.3)\nType \"help\" for help.\n\npostgres=# grant all on tablespace cave to caviste ;\nGRANT\npostgres=# c cave\nYou are now connected to database \"cave\" as user \"postgres\".\ncave=# set role caviste;\nSET\ncave=&gt; create table reg tablespace CAVE as select * from region;<samp><\/samp><\/pre>\n<p>&nbsp;<\/p>\n<p>Nous trouvons maintenant dans le filesystem plusieurs objets:postgres@ubuntu:\/u01\/postgresql\/data\/prod913\/pg_tblspc$ ls -la \/u02\/postgresql\/data\/prod913\/cave\/PG_9.1_201105231\/16394\/<samp><br \/>\n<\/samp><\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\"><samp><\/samp>total 24\ndrwx------ 2 postgres postgres 4096 2012-05-04 08:05 .\ndrwx------ 3 postgres postgres 4096 2012-05-04 08:05 ..\n-rw------- 1 postgres postgres 8192 2012-05-04 08:05 16516\n-rw------- 1 postgres postgres\u00a0\u00a0\u00a0 0 2012-05-04 08:05 16519\n-rw------- 1 postgres postgres 8192 2012-05-04 08:05 16521<\/pre>\n<p>Ces trois objets (fichiers) correspondent \u00e0 la table reg cr\u00e9\u00e9e pr\u00e9c\u00e8dement.<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\"><samp><\/samp>cave=# select relname, relfilenode from pg_class where relfilenode &gt; 16515;\n relname\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | relfilenode \n----------------------+-------------\n pg_toast_16516\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16519\n pg_toast_16516_index |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16521\n reg\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16516<\/pre>\n<p>&nbsp;<\/p>\n<p>Du fait de sa d\u00e9finition, celle-ci est compos\u00e9e de trois fichiers dont deux li\u00e9s \u00e0 un stockage externe nomm\u00e9 &#8220;toast&#8221; Acronyme pour The Oversized-Attribute Storage Technique, utilis\u00e9 pour le stockage des champs de type texte.<samp><\/samp><\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">cave=# d reg\n Table \"public.reg\"\n Column\u00a0 |\u00a0 Type\u00a0\u00a0 | Modifiers \n---------+---------+-----------\n id\u00a0\u00a0\u00a0\u00a0\u00a0 | integer | \n libelle | text\u00a0\u00a0\u00a0 | \nTablespace: \"cave\"<\/pre>\n<p>Comme nous pouvons le voir les tablespaces sont un moyen sous postgresql de r\u00e9partir les donn\u00e9es sur des espaces disques diff\u00e9rents.<\/p>\n<h3>Le r\u00e9pertoire pg_xlog<\/h3>\n<p>Il contient les journaux de transactions. Ces journaux garantissent la durabilit\u00e9 des donn\u00e9es dans la base, en tra\u00e7ant toutes les modifications devant \u00eatre effectu\u00e9es AVANT les \u00e9critures en base de bgwriter. Ce sont ces fichiers que l&#8217;on garde en archive pour assurer les restore PITR ( Point In Time Restore).<\/p>\n<p>Attention, ils ne sont pas particuli\u00e8rement s\u00e9curis\u00e9s, ce r\u00e9pertoire est tr\u00e9s important, les fichiers sont acc\u00e9d\u00e9s s\u00e9quentielement en \u00e9criture et en lecture.<\/p>\n<p>Un article abordera l&#8217;importance de ces fichiers dans le processus de fiabilisation de la base.<\/p>\n<h3>R\u00e9f\u00e9rences documentaires<\/h3>\n<p><a href=\"http:\/\/docs.postgresql.fr\/\">http:\/\/docs.postgresql.fr\/<\/a><br \/>\n<a href=\"http:\/\/www.thegeekstuff.com\/2009\/04\/linux-postgresql-install-and-configure-from-source\/\">http:\/\/www.thegeekstuff.com\/2009\/04\/linux-postgresql-install-and-configure-from-source\/<\/a><br \/>\n<a href=\"http:\/\/www.cyberciti.biz\/faq\/howto-fedora-linux-install-postgresql-server\/\">http:\/\/www.cyberciti.biz\/faq\/howto-fedora-linux-install-postgresql-server\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans mon dernier article sur PostgreSQL, j&#8217;ai pr\u00e9sent\u00e9 l&#8217;installation du logiciel en explorant les 2 solutions suivantes, l&#8217;installation Debian et l&#8217;installation EntrepriseDB. Ces deux installations cr\u00e9ent imm\u00e9diatement un cluster de base de donn\u00e9es, Debian nous imposant le point de stockage et EntrepriseDB nous proposant de saisir une destination. Je vous propose maintenant d&#8217;explorer ce qui a \u00e9t\u00e9 install\u00e9 sur votre disque \u00e0 la mise en route de ce cluster de base et d&#8217;analyser les diff\u00e9rences entre les deux installations.<\/p>\n","protected":false},"author":28,"featured_media":2572,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48],"tags":[23,292,101,77,35],"type_dbi":[],"class_list":["post-2571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology-survey","tag-dba","tag-entreprisedb","tag-installation","tag-postgresql","tag-storage"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PostgreSQL : Qu&#039;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ? - dbi Blog<\/title>\n<meta name=\"description\" content=\"De la mise en route du cluster de base PostgreSQL \u00e0 l&#039;analyse des diff\u00e9rences entre l&#039;installation EnterpriseDB et l&#039;installation debian.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL : Qu&#039;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?\" \/>\n<meta property=\"og:description\" content=\"De la mise en route du cluster de base PostgreSQL \u00e0 l&#039;analyse des diff\u00e9rences entre l&#039;installation EnterpriseDB et l&#039;installation debian.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-07-02T00:35:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"717\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Open source Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\"},\"headline\":\"PostgreSQL : Qu&#8217;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?\",\"datePublished\":\"2012-07-02T00:35:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/\"},\"wordCount\":1326,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Screenshot_3_1.png\",\"keywords\":[\"DBA\",\"EntrepriseDB\",\"Installation\",\"PostgreSQL\",\"Storage\"],\"articleSection\":[\"Technology Survey\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/\",\"name\":\"PostgreSQL : Qu'ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Screenshot_3_1.png\",\"datePublished\":\"2012-07-02T00:35:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\"},\"description\":\"De la mise en route du cluster de base PostgreSQL \u00e0 l'analyse des diff\u00e9rences entre l'installation EnterpriseDB et l'installation debian.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Screenshot_3_1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Screenshot_3_1.png\",\"width\":717,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-quai-je-install-o-sont-mes-donnes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL : Qu&#8217;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/59554f0d99383431eb6ed427e338952b\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"caption\":\"Open source Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/open-source-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL : Qu'ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ? - dbi Blog","description":"De la mise en route du cluster de base PostgreSQL \u00e0 l'analyse des diff\u00e9rences entre l'installation EnterpriseDB et l'installation debian.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL : Qu'ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?","og_description":"De la mise en route du cluster de base PostgreSQL \u00e0 l'analyse des diff\u00e9rences entre l'installation EnterpriseDB et l'installation debian.","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/","og_site_name":"dbi Blog","article_published_time":"2012-07-02T00:35:00+00:00","og_image":[{"width":717,"height":400,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png","type":"image\/png"}],"author":"Open source Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Open source Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"headline":"PostgreSQL : Qu&#8217;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?","datePublished":"2012-07-02T00:35:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/"},"wordCount":1326,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png","keywords":["DBA","EntrepriseDB","Installation","PostgreSQL","Storage"],"articleSection":["Technology Survey"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/","name":"PostgreSQL : Qu'ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png","datePublished":"2012-07-02T00:35:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"description":"De la mise en route du cluster de base PostgreSQL \u00e0 l'analyse des diff\u00e9rences entre l'installation EnterpriseDB et l'installation debian.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Screenshot_3_1.png","width":717,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-quai-je-install-o-sont-mes-donnes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL : Qu&#8217;ai-je install\u00e9, O\u00f9 sont mes donn\u00e9es ?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","caption":"Open source Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=2571"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/2571\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/2572"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=2571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=2571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=2571"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=2571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}