Actualmente estoy configurando una nueva instalación de PostGIS 2.0.2 y PostgreSQL 9.1.6 en Ubuntu. Recientemente me he encontrado con alguna información que indica que el uso del esquema público para almacenar todos los datos no es una idea buena.
Por esta razón, configuré un esquema llamado datos y me hice propietario, pero ¿es una buena idea?
Mis preocupaciones son:
- Además de configurar el propietario, es posible que deba prestar atención a las cosas en la pestaña Privilegios al crear este nuevo esquema (a través de pgAdmin III);
- Es posible que no obtenga los mismos beneficios almacenando mis datos en el esquema público y volcando todos los datos en un esquema separado antes de hacer una copia de seguridad / restauración (esto ahorraría algunas pulsaciones de teclas al usar ogr2ogr); y
- Puedo tener problemas al no tener las tablas y vistas predeterminadas de PostGIS en mi nuevo esquema de datos (están en el esquema público dentro de la misma base de datos).
public
esquema. Esa otra pregunta es sobre la instalación de los objetos de extensión PostGIS en un esquema distinto depublic
. ¡Estas son dos cosas diferentes!Respuestas:
Esto ahora se aborda en el sitio oficial en una página titulada Mover la extensión PostGIS a un esquema diferente . El método correcto es instalar la extensión en
public
. Esta es la única opción. La extensión ya no admite la reubicación. Lo siguiente es ejecutar los siguientes comandos, (copiado del sitio),fuente
data
esquema (están en elpublic
esquema dentro de la misma base de datos)". Esta respuesta es útil, y es lo que estaba buscando, pero no está directamente relacionada con la pregunta.Cuando habilita espacialmente una base de datos PostGIS, las funciones relevantes, la tabla SRS y las vistas se colocan en el esquema público, tal como lo indica. Eso no significa que todas o cualquiera de sus propias tablas espaciales necesiten estar en el mismo esquema público. PostGIS seguirá funcionando en todos los datos espaciales en los "nuevos" esquemas.
De hecho, generalmente coloco mis tablas específicas de la aplicación en un esquema separado. De esa manera, si necesita realizar una actualización de versión principal a PostGIS, puede mantener sus copias de seguridad y restauraciones de tablas específicas de la aplicación como un procedimiento separado del que reemplaza las herramientas espaciales.
Entonces, creo que lo estás haciendo bien. Finalmente, en caso de que aún no lo haya hecho, es una buena idea agregar el nuevo esquema a la ruta de búsqueda:
ALTER DATABASE my_db SET search_path = gc, public;
fuente
public
? Agregar datos con, por ejemplo.shp2psql
paratest.table
todavía poner datospublic
?Una de las posibles estrategias organizativas que puede crear con esquemas es permitir que un usuario se ejecute desenfrenadamente en un esquema, pero no pueda estropear las cosas en otro. Entonces, si desea usar esquemas de esta manera, puede hacerlo en la pestaña de privilegios de pgAdmin. Pero no es necesario que lo haga, así que si solo desea mantener los mismos privilegios en múltiples esquemas, está bien.
Según los artículos a los que se vinculó, el problema de mantener todo en público es que cuando se vuelcan datos, es probable que las tablas y las relaciones del sistema se mezclen con sus datos. Si mueve todos sus datos a un nuevo esquema, no tendrá que preocuparse por eso nunca más.
No hay ningun problema. (Como prueba, tenga en cuenta que no tiene que especificar public.spatial_ref_sys cuando desea buscar en la tabla SRS).
fuente
Un consejo adicional (tal vez ya te encontraste con esto). Probablemente desee agregar el esquema de "datos" a la ruta de búsqueda predeterminada del usuario. Algo como:
Con respecto a su punto 2, a veces necesita restaurar cuando ya no tiene acceso a la base de datos original. (Esa es una de las razones de las copias de seguridad ...) por lo que es posible que no tenga la oportunidad de mover sus datos a un esquema separado cuando realmente lo necesite.
fuente
Usamos el esquema público para el análisis temporal / resultados de la tabla de desarrollo, luego vamos a esquemas más organizados (¿carpetas?) Para uso permanente.
fuente