Skip site navigation (1) Skip section navigation (2)

Error en creación de base de datos

From: César Villanueva <dandelion(at)cantv(dot)net>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Cc: "Oscar Chicharro" <oscardaniel(at)grupobbva(dot)net>
Subject: Error en creación de base de datos
Date: 2004-05-05 12:15:59
Message-ID: 200405050815.59797.dandelion@cantv.net (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola

La solución a tu problema es muy sencilla 

    createdb -D /var/lib/pgsql/data/data test

(observa la repetición de data/data, 
NO ES un error bajo las circunstancias 
que has señalado, pero sigue leyendo 
hasta el final antes de correr a ejecutar 
lo anterior)

Observa que no es lo mismo

      echo $PGDATA2    [1]

que 

     echo PGDATA2      [2]


[1]  Produce en tu caso /PGDATA/data, 
      aunque debería producir:

          /var/lib/pgsql/data/data

(  por cierto, ¿existe este directorio 
   en tu sistema de archivos? 
   ¿Puedes hacer

        cd /var/lib/pgsql/data/data

   ?
)

[2]  Produce la cadena PGDATA2,
      que es sólo eso, una cadena de texto,
      no una variable de ambiente,
      no un directorio, sólo una cadena de texto
     bastante inútil al efecto de tu Postgresql.

Por favor, sigue leyendo entre líneas.... 

El Miércoles, 5 de Mayo de 2004 04:39, Oscar Chicharro escribió:
> La variable existe:
> echo $PGDATA2
> /PGDATA/data

¿Tienes un directorio en tu árbol raíz llamado PGDATA? 
(Estoy seguro que no) Entonces $PGDATA2 apunta a 
un directorio que no existe, compruébalo haciendo (como root)

cd  $PGDATA2          (con el símbolo de $, por favor)

>
> y está incluida en el fichero .bash_profile del usuario postgres:
> PGDATA=/var/lib/pgsql/data
> [ -f $PGDATA/../initdb.i18n] && source $PGDATA/../initdb.i18n
> PGDATA2=/PGDATA/data

El error de tu definición está aquí. Debe ser 
PGDATA2=/$PGDATA/data
                  ^
                ^^^^
            Pequeño detalle ($)

Dicho esto, ¿quieres que PGDATA2 sea:

/var/lib/pgsql/data/data

con un subdirectorio "data", 
debajo de otro subdirectorio "data",
debajo de "/var/lib/pgsql/" 

No le veo mucho sentido a 
menos que el último "data" esté en
una partición/disco aparte.

> export PGDATA PGDATA2
>
> (la segunda linea no sé para que es)

Es código de shell,  
> [ -f $PGDATA/../initdb.i18n]

El corchete es "test" , si existe el archivo

    $PGDATA/../initdb.i18n

ENTONCES (&&) ejecuta (source)

    $PGDATA/../initdb.i18n

como un script de shell (si existe revisa su contenido
y verás muchas variable de "locale" exportadas).

Debes estudiar un poco el uso de shell (bash) y 
su programación elemental para que no te sorprendan 
estos errores.

NOTA: Las interpretaciones de "&&" como 
ENTONCES (THEN) y de "source" como (ejecuta) 
no son rigurosamente exactas desde el punto de 
vista de su sintaxis, pero sí desde el ángulo 
práctico. Las verdaderas interpretaciones 
quedan como ejercicios al lector.

Saludos desde Venezuela

-- 
César Villanueva


In response to

Responses

  • at 2004-05-05 12:34:21 from Pehuen Vera

pgsql-es-ayuda by date

Next:From: Pehuen VeraDate: 2004-05-05 12:34:21
Subject:
Previous:From: GorkaDate: 2004-05-05 10:54:20
Subject: RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE?==?iso-8859-1?Q?: [pgsql-es-ayuda] ¿Existe Posgres para Windows?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group