initlocation

Nom

initlocation — Crée une seconde zone de stockage de base Postgres
initlocation [ --location=er">alble> | -D altdir ]
    [ --username=name | -u name ]
    [ altdir ]
  

Entrées

--location=altdir, -D altdir, altdir

Où, dans votre système de fichiers Unix, voulez vous placer les bases distantes ? Le répertoire principal est appelé PGDATA, ainsi vous voudrez peut être faire pointer votre site distant vers PGDATA2.

--username=name, -u name, PGUSER

Qui sera le propriétaire des fichiers Unix de cette zone de stockage ? Le super-utilisateur Postgres est un utilisateur Unix qui est propriétaire de tous les fichiers que stocke la base système et aussi propriétaire des processus postmaster et serveur qui y accèdent. Habituellement, c'est l'utilisateur qui lance initlocation qui est ainsi le gérant des répertoires et des fichiers.

Note

Seul l'administrateur Unix peut créer une base système avec un utilisateur différent du super-utilisateur Postgres. Spécifier un utilisateur autre que le super-utilisateur Postgres peut conduire à des problèmes de sécurité et d'intégrité des données. Voir le PostgreSQL Administrator's Guide pour plus d'information.

Sorties

initlocation créera les répertoires à l'endroit spécifié.

Nous initialisons la base distante avec un nom d'utilisateur postgres (uid=500). Cet utilisateur sera propriétaire de tous les fichiers et devra aussi être propriétaire du processus serveur.. Creating Postgres database system directory altdir

Successful completion.

Nous initialisons la base distante avec un nom d'utilisateur postgres (uid=500). Cet utilisateur sera propriétaire de tous les fichiers et devra aussi être propriétaire du processus serveur. Creating Postgres database system directory /usr/local/src/testlocation mkdir: cannot make directory `altdir': Permission denied

Vous n'avez pas les droits d'écriture dans le répertoire spécifié.

Un nom d'utlisateur valide n'est pas donné. You must specify the username for the Postgres superuser for the database system you are initializing, either with the --username option or by default to the USER environment variable.

Le nom d'utilisateur que vous avez donné n'est pas le super-utilisateur Postgres.

Can't tell what username to use. You don't have the USER environment variable set to your username and didn't specify the --username option

Spécifie l'option --username en ligne de commande.

Description

initlocation crée une seconde zone de stockage pour la base Postgres. Une zone de stockage secondaire contient une arborescence de répertoires avec les permissions de fichiers correctes dans ces répertoires.

La création d'une zone de stockage consiste a créer les répertoires dans lesquels résideront les données de la base.

Il existe deux sortes d'arguments pour initlocation. Premièrement, vous pouvez spécifier une variable d'environnement (e.x. PGDATA2). Cette variable d'environnement devra être connue du serveur pour un usage ultérieur dans CREATE DATABASE/WITH LOCATION or createdb -D altdir. Cependant, le démon serveur doit avoir cette variable dans son environnement pour fonctionner correctement. Deuxièmement, vous devrez spécifier un chemin absolu vers le répertoire principal de la zone de stockage. Cependant, cette seconde option n'est possible que si elle a été spécifiée de façon explicite pendant l'installation de Postgres. Elle est habituellement désactivée pour alléger tout ce qui concerne la sécurité et l'intégrité des données.

Note

Postgres ajoutera /base/ au chemin spécifié pour créer la zone de stockage.

Le serveur nécessite que tout argument vers WITH LOCATION qui n'a pas de délimiteurs de path soit une variable d'environnement.

Utilisation

Pour créer une base distante, utilisant une variable d'environnement :
% setenv PGDATA2 /opt/postgres/data
% initlocation PGDATA2
% createdb -D PGDATA2