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
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 |