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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Pehuen Vera | 2004-05-05 12:34:21 | |
Previous Message | Gorka | 2004-05-05 10:54:20 | RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] ¿Existe Posgres para Windows? |