PostgreSQL es uno de los sistemas de bases de datos relacionales de objetos más populares. Es un software gratuito y de código abierto que extiende el idioma SQL con características adicionales para manejar las complejas cargas de trabajo de datos. Puede funcionar con varios tipos de datos, confiables y seguros. Obtenga más información sobre las características de PostgreSQL.
En esta guía, aprenderemos más sobre la creación de tablas en un esquema en PostgreSQL.
Esquemas en PostgreSQL
Una base de datos PostgreSQL puede contener uno o más esquemas nombrados, cada esquema que contiene tablas.
El mismo nombre del objeto se puede asignar a través de múltiples esquemas sin conflicto. Por ejemplo, el siguiente esquema/árbol de tabla es válido:
Puede pensar en esquemas como directorios a nivel del sistema operativo. La diferencia es que no puede haber esquemas anidados. Obtenga más profundidad sobre el esquema sobre la documentación de PostgreSQL.
Puede haber múltiples razones para implementar los esquemas:
Tablas en PostgreSQL
Cualquier base de datos relacional consta de múltiples tablas relacionadas, cada una que consiste en filas y columnas. PostgreSQL viene con varias tablas incorporadas que contienen varias información del sistema. Sin embargo, también podemos crear nuevas tablas en bases de datos y esquemas definidos por el usuario.
Requisitos previos:
Para realizar los pasos demostrados en esta guía, necesitará los siguientes componentes:
Para el propósito de esta guía, usaremos post -put para realizar todas las acciones en PostgreSQL.
Creación de tablas en un esquema
Creación de una base de datos de demostración
Como se mencionó anteriormente, los esquemas existen bajo una base de datos. Para fines de demostración, creamos una base de datos ficticia, evitando la interrupción de cualquier base de datos existente.
Acceda a la shell de PostgreSQL como post -put:
$ sudo -i -u postgres psqlCrear una nueva base de datos demo_db:
$ Crear base de datos demo_db;Verifique si la base de datos se crea con éxito:
$ \ lFinalmente, conéctese a la base de datos recién creada:
$ \ Connect demo_db;El esquema público
Cualquier nueva base de datos en PostgreSQL viene con un esquema predeterminado - público. Si intenta crear un objeto sin especificar el nombre del esquema, el esquema público se selecciona de forma predeterminada.
El siguiente comando imprime todo el esquema disponible en la base de datos PostgreSQL:
$ \ dnAlternativamente, también podemos usar la siguiente consulta SQL:
$ Select * de PG_CATALOG.pg_namespace;Creando un nuevo esquema
Para crear un nuevo esquema en una base de datos específica, la estructura de comando es la siguiente:
$ Crear esquema;Siguiendo la regla, creemos un nuevo esquema demo_schema:
$ Crear esquema demo_schema;Consulte la lista de esquemas para la verificación:
$ \ dnCreando una mesa en un esquema
Ahora que tenemos el esquema objetivo creado, podemos poblarlo con tablas.
La sintaxis para crear una tabla es la siguiente:
CREAR MESA . (Aquí:
Para la demostración, creamos una tabla simple:
Crear tabla demo_schema.demo_table (Aquí:
Podemos verificar la existencia de la tabla utilizando la siguiente consulta:
$ SELECT * DE DEMO_SCHEMA.demo_table;Insertar datos en la tabla
Con la tabla en su lugar, ahora podemos insertar algunos valores:
Insertar en demo_schema.demo_table (nombre, identificación)Verifique el contenido de la tabla:
$ SELECT * DE DEMO_SCHEMA.demo_table;Gestión de esquemas
Permisos de esquema
Con la ayuda del permiso de esquema, podemos gestionar qué papel puede realizar qué acción en un esquema específico. De todos los posibles privilegios, los esquemas solo soportan Crear y usar.
Para actualizar el permiso de esquema para un rol en particular, la estructura de comando es la siguiente:
$ Subvención en el esquema a;Para revocar el permiso de esquema para un papel en particular, la estructura de comando es la siguiente:
$ Revoke en el esquema a;Verifique el cambio usando el siguiente comando:
$ \ dn+Alterar las propiedades del esquema
Con la ayuda del Alterar el esquema Declaración, podemos modificar las diversas propiedades de un esquema. Por ejemplo: propiedad, nombre del esquema, etc.
Para cambiar el nombre del esquema, use la siguiente consulta:
$ Alter esquema renombrar a;Para cambiar la propiedad de un esquema, use la siguiente consulta:
$ Alter del propietario del esquema a;Tenga en cuenta que para cambiar la propiedad, el usuario actual debe tener el CREAR Permiso para el esquema.
Eliminar un esquema
Si un esquema ya no es necesario, podemos eliminarlo usando el GOTA consulta:
Schema de $ DropSi el esquema contiene algún objeto, necesitamos el CASCADA Modificador:
$ Drop Schema Cascade;Gestión de la mesa
Permisos de mesa
Al igual que el esquema, cada tabla también viene con la gestión de permisos, definiendo qué acción hace un rol que puede realizar en la tabla.
Para verificar los permisos de una tabla, use el siguiente comando en PSQL:
$ \ dpAlterar las propiedades de la tabla
Con la ayuda del Alterar la mesa Declaración, podemos modificar los numerosos aspectos de una tabla ya existente.
Por ejemplo, para soltar una columna, la consulta se ve así:
$ Alter tabla columna de caída;Para agregar una nueva columna, podemos usar la siguiente consulta:
$ Alter tabla Agregar columna;También podemos establecer la compresión para una columna específica:
$ Alter columna conjunto de compresión;Eliminar una mesa
Para eliminar una tabla de un esquema, podemos usar la consulta de la tabla de caída:
$ Drop Table;Tenga en cuenta que, a diferencia de los esquemas, el MESA PLEGABLE La consulta no producirá un error si la tabla está vacía o no.
Conclusión
En esta guía, demostramos cómo crear las tablas en un esquema en PostgreSQL. Creamos un esquema ficticio dentro de una base de datos ficticia y creamos una tabla dentro del esquema. Esta guía también se muestra en cómo administrar las diversas propiedades de esquemas y tablas.
Para una mejor integridad de datos, puede configurar una replicación lógica de PostgreSQL. Para mantener saludable la base de datos PostgreSQL, puede configurar el autovacuo para limpiar las tuplas muertas que dejan los registros eliminados.
Para obtener más guías PostgreSQL, consulte la subcategoría PostgreSQL.