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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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