Crear tabla en un esquema Postgres

Crear tabla en un esquema Postgres

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:

  • esquema_a
    • tabla 1
    • Tabla 2
  • esquema_b
    • tabla 1
    • Tabla 2

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:

  • Múltiples usuarios que usan la misma base de datos sin conflicto entre sí.
  • Mejor organización y gestión de bases de datos en grupos lógicos.
  • Las aplicaciones de terceros pueden crear su esquema único sin colisionar con los esquemas existentes u otros objetos.

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:

  • Un sistema de Linux concurrido correctamente. Obtenga más información sobre cómo instalar Ubuntu en Virtualbox.
  • Una instalación adecuada de PostgreSQL. Echa un vistazo a la instalación de PostgreSQL en Ubuntu.
  • Acceso a un usuario de PostgreSQL con permiso de uso a una base de datos.

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 psql

Crear una nueva base de datos demo_db:

$ Crear base de datos demo_db;

Verifique si la base de datos se crea con éxito:

$ \ l

Finalmente, 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:

$ \ dn

Alternativamente, 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:

$ \ dn

Creando 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í:

  • esquema: Este campo especifica el nombre del esquema donde se crea la tabla. Si no se proporciona ningún valor, la tabla se crea bajo el público esquema.

Para la demostración, creamos una tabla simple:

Crear tabla demo_schema.demo_table (
Nombre Char (64),
ID int no nulo
);

Aquí:

  • El campo NOMBRE se especifica para almacenar una cadena de 64 caracteres.
  • El campo IDENTIFICACIÓN contiene los valores enteros. El término "NO NULO" indica que IDENTIFICACIÓN no puede estar vacío o nulo.

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)
VALORES
('PQR', 45),
('Ijk', 99)
;

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

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

$ \ dp

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