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

Re: Que son estos esquemas en mi BD

From: "Ing (dot) Marcos Luís Ortíz Valmaseda" <mlortiz(at)uci(dot)cu>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: ReynierPM <rperezm(at)uci(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Que son estos esquemas en mi BD
Date: 2009-11-16 23:19:24
Message-ID: 4B01DDFC.9060105@uci.cu (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Alvaro Herrera escribió:
> ReynierPM escribió:
>   
>> Buenas tardes a todos:
>> Hoy estaba revisando una BD que hacía más de 2 meses que no miraba
>> de cerca y me tope con los siguientes esquemas:
>> - information_schema
>> - pg_catalog
>> - pg_toast_tmp_1
>> - pg_toast_tmp_2
>> - pg_toast_tmp_3
>> - pg_toast_tmp_4
>> - pg_toast_tmp_5
>> - pg_toast_tmp_6
>> - pg_toast_tmp_7
>> - pg_toast_tmp_8
>> - pg_toast_tmp_9
>> - public
>> Me puede decir alguien que significan cada uno de ellos excepto el
>> "public" que es donde están mis tablas claro está. ¿Los puedo
>> eliminar sin temor a corromper la BD?
>>     
>
> Puedes eliminar pg_temp_XXX y pg_toast_tmp_XXX siempre y cuando no esté
> funcionando el backend numerado XXX.  Los backends que están funcionando
> los puedes ver con
> select * from pg_stat_get_backend_idset()
>
> information_schema lo puedes eliminar; se usa para implementar el
> INFORMATION SCHEMA que es un esquema definido por el estándar SQL, pero
> aparte de eso no sirve para nada.  Supongo que alguna herramienta
> externa puede que lo use.  En todo caso, si lo eliminas y después te das
> cuenta que lo necesitas, puedes volver a crearlo ejecutando el script
> information_schema.sql.
>
> pg_catalog no puedes eliminarlo.  Es el único schema reservado del
> sistema (además de pg_temp y pg_toast_tmp obviamente)
>
> public lo puedes eliminar, siempre y cuando no tengas tablas en él.
> (O mejor dicho, si lo eliminas, se van a eliminar todas tus tablas
> también).  Si lo eliminas es recomendable crear otro schema donde crear
> tablas, y además definir el SEARCH_PATH de manera que automáticamente
> las tablas se creen en otro esquema.
>
>   
Umm, esto del schema public si no lo sabía. Lo tendré en cuenta a partir 
de ahora para el desarrollo
de nuevas aplicaciones. La eliminación del information_schema es a gusto 
de cada cual; a mi no me gusta eliminarlo por el hecho de que
es un estándar SQL y todos los SGBD relacionales lo tienen incluido. Si 
lo vemos de un modo paranoico, a lo mejor sería un brecha que podría
aprovechar algún atacante, aunque según la literatura especializada del 
tema como el libro "Database Hacker Handbook" aseguran que PostgreSQL es 
posiblemente la base de datos más segura existente hoy en día, y 
creánme, los que lo dicen son expertos en el tema.

Saludos
P.D: Ahora no recuerdo bien el nombre exacto del libro, mañana les digo


-- 
--
"For me, the purpose is, at least partly, to have joy. Programmers often
feel joy when they can concentrate on the creative side of programming,
so Ruby is designed to make programmers happy." 
Yukihiro Matsumoto (Matz), Creator of the Ruby Language

Ing. Marcos Luís Ortíz Valmaseda
System DBA && Rails New User
Centro de Tecnologías de Almacenamiento y Anális de Datos (CENTALAD)
Universidad de las Ciencias Informáticas

Linux User # 418229

http://www.freebsd.org
http://www.postgresql-es.org
http://www.postgresql.org
http://www.planetpostgresql.org
http://www.rubyonrails.org
http://www.ruby-lang.org 


In response to

pgsql-es-ayuda by date

Next:From: luis muroDate: 2009-11-16 23:38:26
Subject: Re: psql: FATAL: sorry, too many clients already
Previous:From: Ing . Marcos Luís Ortíz ValmasedaDate: 2009-11-16 23:09:05
Subject: Re: tip 7

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