Re: CREATE ROLE / USER IF NOT EXISTS

From: "Silvio Quadri" <silvioq(at)gmail(dot)com>
To: "Ricardo Martin Gomez" <rimartingomez(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: CREATE ROLE / USER IF NOT EXISTS
Date: 2008-03-14 11:53:35
Message-ID: 61dc71dc0803140453l1f86f1edoabc0076ca90392e5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2008/3/13, Ricardo Martin Gomez <rimartingomez(at)hotmail(dot)com>:
>
> Buenas lista:
> Queria saber si alguien se encontro con algun problema similiar o si
> tienen la solución a mi problema.
>
> El tema es así tengo que entregar unos script de bases de datos en los
> cuales se crea todo el entorno de la misma con sus objetos y datos.
> Hay tareas que se deben correr como usuario postgres para crear la BD, los
> ROLES y los USER. El tema es que cuando lo corro por primera vez anda todo
> OK, pero cuando lo corro las veces siguientes falla dando "ERROR:" debido a
> que el usuario y los roles ya existen.
> He visto que para todos los DROP hay una opcion IF EXISTS lo cual en vez de
> dar un ERROR muestra una NOTICE:
> Navegue por muchos lugares y no puedo encontrar la solución.
>
> Uso postgres 8.2
>
> Nota: No me gustaría poner en ese la opcion de drop if exists antes de
> crear los roles / usuario por si las dudas se llegan a usar para otras BD.
>
> Si alguien sabe como solucionar este problema, le agradecería que me lo
> comunique
>
> Desde ya muchas gracias

Podés escribir un PLPGSQL que haga el create en el caso que el rol no exista ...

La vista pg_roles tiene los usuarios. Hacé que el posgres busque allí
y, si no está, lo cree.
http://www.postgresql.org/docs/8.2/interactive/view-pg-roles.html

Saludos!
Silvio

>
>
> Saludos
> Martin.
> ________________________________
> Sigue los principales acontecimientos deportivos en directo. MSN Motor

--
Silvio Quadri

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2008-03-14 11:56:03 Postgresql 8.3 y Linux
Previous Message Pablo Braulio 2008-03-14 11:28:21 Trigger que no funciona.