Re: [pgsql-fr-generale] travailler sur D sans sollicité C

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Eric Christ <eric(dot)christ(at)setri(dot)com>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: [pgsql-fr-generale] travailler sur D sans sollicité C
Date: 2008-11-10 10:30:56
Message-ID: 49180D60.30101@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Eric Christ a écrit :
> je suis novice en postgresql et j'ai un problème.
> je galère depuis 2 j pour le résoudre
> je tente désespérément de configurée postgresql pour qu'il ne travaille
> que sur D. Que se soit pour sauvegarder toutes mes données ou pour les
> fichiers temporaires
>
> Voici ou j'en suis
> J'ai créer un tablespace
>
> CREATE TABLESPACE "EDF_SCAV_TS"
> OWNER postgres
> LOCATION 'D:/EDF_SCAV/DATA_BASE/DATA';
>
> Ma base est
>
> CREATE DATABASE "EDF_SCAV"
> WITH OWNER = postgres
> ENCODING = 'WIN1252'
> TABLESPACE = "EDF_SCAV_TS";
>
>
> et typiquement une table de cette base (j'ai gardé le schéma par défaut
> : "public") est
>
>
> -- Table: "PARAMETRES"
> -- DROP TABLE "PARAMETRES";
>
> CREATE TABLE "PARAMETRES"
> (
> "ID" serial NOT NULL,
> "NOM" text NOT NULL,
> "VALEUR" text,
> "SYNC" integer DEFAULT 0,
> dt timestamp with time zone,
> CONSTRAINT "PARAMETRES_PK" PRIMARY KEY ("ID", "NOM") USING INDEX
> TABLESPACE "EDF_SCAV_TS"
> )
> WITH (OIDS=FALSE)
> TABLESPACE "EDF_SCAV_TS";
> ALTER TABLE "PARAMETRES" OWNER TO postgres;
>
> Dans cette configuration, les données sont bien sauvegardée sur "D" mais
> elles sont dupliquée dans "C:\Program Files\PostgreSQL\8.3\data\pg_tblspc"
> CE qui finis par planter mon PC car C n'a pas la même taille que D
>

Elles ne sont pas dupliquées, il s'agit de liens symboliques vers les
fichiers du tablespace.

Quel message d'erreur avez-vous ?

> J'ai continuer par tester d'autre option
> j'ai mis :
> default_tablespace = D:/EDF_SCAV/DATA_BASE/DATA

Ça sert uniquement pour les prochains objets créés.

> temp_tablespace = D:/EDF_SCAV/DATA_BASE/DATA

Ça ne sert que pour les objets temporaires, ce qui ne semble pas votre cas.

> pas de changement
>
> j'ai essayé :
> default_tablespace = D:\EDF_SCAV\DATA_BASE\DATA
> temp_tablespace = D:\EDF_SCAV\DATA_BASE\DATA
> pas de changement
>
> de plus dans le catalogue "pg_tablespace"
> j'ai mis toutes les colonnes "spclocation" à D:/EDF_SCAV/DATA_BASE/DATA
> pas de changement
>

Oula, il ne faut *jamais* faire cela.

> Quelqu'un pourrait-il m'indiquer une procédure détaillé pour :
> - a partir de postgresql installé sur c dans ses dossiers par défaut
> - d'un pc ayant une partition c de 10go est un d de 200go
> - utiliser une base de donnée dans un sous dossier de D (ex:D:\toto\db)
> sans que postgres ne génère aucun fichier sur C, que ce soit des
> temporaires ou autre
>

Le dernier point est impossible. PostgreSQL crée toujours des fichiers
dans son répertoire de base. Un moyen peut-être plus simple dans votre
cas serait d'installer directement PostgreSQL dans D: ?

> Nota : je penses qu'il s'agit des index qui prenne beaucoup de place
> mais je n'en suis pas certain ?
>

De toute façon, vous avez créé la base de données sur le tablespace qui
pointe vers D:\..., donc cela ne doit pas poser de problème pour les
index des tables de cette base de données.

> PS : pour les chemins, faut-il saisir "D:\DATE" ou "D:/DATA" ?
>

Peu importe.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Guillaume Lelarge 2008-11-10 10:33:23 Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] travailler sur D sans sollicité C
Previous Message François Figarola 2008-11-10 10:18:24 Re: [pgsql-fr-generale] travailler sur D sans sollicité C