Permisos de Usuarios y Bases de Datos.

From: Nicola Strappazzon <nicola51980(at)gmail(dot)com>
To: PostgreSQL Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Permisos de Usuarios y Bases de Datos.
Date: 2007-04-28 16:11:43
Message-ID: A691F5C5-F704-4A5D-B754-6669556957C7@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos dias lista, e tenido la necesidad de crear varias bases de
datos dentro de PostgreSQL, por cada una de ellas se define un
usuario y un grupo, el caso es que no logro evitar que cada usuario
solamente pueda ver SU base de datos y no la de los demas, e probado
de distintas formas y no me ha ido bien, si alguien me puede ayudar
se lo agradeceria mucho.

Les mando un ejemplo del Script q estoy haciendo:

--
-- psql -h localhost -U postgres < SampleDB.sql
--
-- Password is: test
--
-- psql -h localhost -U SampleDB_World SampleDB
--

\connect postgres

SET client_encoding = 'utf8';
SET check_function_bodies = false;
SET client_min_messages = warning;

DROP DATABASE "SampleDB";
DROP ROLE "SampleDB_World";
DROP ROLE "SampleDB_DellStore";
DROP ROLE "SampleDB";
DROP GROUP "grp_SampleDB";

CREATE ROLE "SampleDB" LOGIN PASSWORD 'sampledbadmin'
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
CREATE ROLE "SampleDB_World" LOGIN PASSWORD 'sampledbworld'
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;
CREATE ROLE "SampleDB_DellStore" LOGIN PASSWORD 'sampledbdellstore'
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;

CREATE ROLE "grp_SampleDB" NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;

ALTER GROUP "grp_SampleDB" ADD USER "SampleDB_World",
"SampleDB_DellStore";

CREATE DATABASE "SampleDB" WITH TEMPLATE = template0 OWNER =
"SampleDB" ENCODING = 'UTF8' TABLESPACE = pg_default;

\connect SampleDB

CREATE SCHEMA world AUTHORIZATION "SampleDB_World";
CREATE SCHEMA dellstore AUTHORIZATION "SampleDB_DellStore";

COMMENT ON SCHEMA world IS 'Standard World schema';
COMMENT ON SCHEMA dellstore IS 'Standard Dell Store schema';

ALTER ROLE "SampleDB_World" SET search_path=world;
ALTER ROLE "SampleDB_DellStore" SET search_path=dellstore;

---------------------
Fin del Script.

Nicola Strappazzon
nicola51980(at)gmail(dot)com

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-04-28 16:37:53 Re: Disfrazar Postgresql
Previous Message Stalin Bello 2007-04-28 13:39:28 Re: administrador para linux