PostgreSQL es un poderoso sistema de base de datos relacional de objetos de código abierto que tiene como objetivo ayudar a los desarrolladores a crear aplicaciones, administradores para proteger la integridad de los datos y crear entornos tolerantes a fallas. Admite tipos de datos avanzados y funciones de optimización del rendimiento, como Ms-SQL Server y Oracle.
Características de PostgreSQL:
- SGBD de código abierto
- Soporta propiedades ACID
- Diversas técnicas de indexación
- SSL de replicación basada en registros y desenstringdores
- Soporte para JSON
- Admite objetos geográficos
- Orientado a objetos y compatible con ANSI-SQL 2008
Tipos de datos en PostgreSQL:
La siguiente tabla enumera todos los tipos de datos disponibles en PostgreSQL:
Tipos de datos PostgreSQL |
||||
---|---|---|---|---|
Numérico | Personaje | Fecha y hora | Monetario | Binario |
booleano | Geométrico | JSON | enumerado | Búsqueda de texto |
UUID | Tipos de direcciones de red | Compuesto | Identificadores de objetos | Seudo |
string de bits | XML | Rango | arreglos | pg_lsn |
- Tipos de datos numéricos: smallint, integer, bigint, decimal, numérico, real, serial.
- Tipos de datos de caracteres: varchar(n), texto, char(n).
- Fecha/Hora Tipos de datos : marca de tiempo, fecha, hora, intervalo.
- Tipo de dato monetario : dinero.
- Tipo de datos binarios : bytea (admite formato hexadecimal y de escape).
- Booleano Tipo de dato: booleano.
- Tipos de datos geométricos: punto, línea, caja, ruta, polígono, círculo, lseg.
- Tipos de datos JSON: string, número, booleano, nulo.
- Tipos de datos enumerados: enum.
- UUID Tipo de datos: uuid (almacena Universally Unique Identifiers).
- Tipos de direcciones de red : cidr, inet, macaddr.
- Pseudotipos : any, anyelement, anyarray, anyenum, anyrange, internal, record, trigger, event_trigger.
- Tipos de BitString: bit(n), bit variable(n).
- Rango Tipos de datos : int4range, int8range, numrange, tsrange (rango de marca de tiempo), rango de fecha.
- pg_lsn tipo : pg_lsn (almacena el número de secuencia de registro).
Operadores en PostgreSQL:
Un operador manipula elementos de datos individuales y devuelve un resultado. Estas son las palabras reservadas utilizadas en la cláusula WHERE para realizar operaciones.
Operadores |
|
---|---|
Operadores aritméticos | +, -, *, /, %, ^, ! |
Operadores de comparación | =, !=, <>, >, <, >=, <= |
Operadores logicos | Y, NO, O |
Operadores bit a bit | &, | |
Instalación :
- Para instalar PostgreSQL, ejecute el siguiente comando:
sudo apt install postgresql OR sudo apt install postgresql postgresql-contrib
El postgresql-contrib agregará algunas utilidades y funcionalidades adicionales.
- Después de la instalación, cambie a la cuenta de Postgres:
sudo -i -u postgres
- Ahora, puede acceder al indicador de Postgres usando el comando psql .
Trabajar con bases de datos:
El comando CREATE DATABASE se utiliza para crear la base de datos.
Sintaxis:
CREATE DATABASE database_name;
Ejemplo:
Ahora, para almacenar los datos, necesitamos la tabla. La sentencia CREATE TABLE se utiliza para crear la tabla.
Sintaxis:
CREATE TABLE table_name (column_1 data_type, column_2 data_type, ... column_n data_type);
Ejemplo:
El comando INSERT se usa para insertar el nuevo registro (fila) en la tabla.
Sintaxis:
INSERT INTO table_name (column_1, column_2 ,...) VALUES(value_1, value_2, ...);
Ejemplo:
La declaración SELECT se usa para obtener los datos de una tabla de base de datos, que devuelve los datos en forma de una tabla de resultados.
Sintaxis:
SELECT column_1, column_2, .. column_n FROM table_name;
Ejemplo:
Note: We can fetch all the fields of the table using an asterisk(*) sign.
La cláusula WHERE se usa para filtrar los resultados devueltos por la instrucción SELECT.
Sintaxis:
SELECT column_name FROM table_name WHERE condition;
Ejemplo:
La cláusula LIMIT se usa para obtener un subconjunto de filas generadas por una consulta. Es una cláusula opcional de la instrucción SELECT. OFFSET n salta ‘n’ filas antes de comenzar a devolver filas.
Sintaxis:
SELECT * FROM table_name LIMIT n;
Ejemplo:
La estructura de una tabla existente se puede modificar mediante la sentencia ALTER TABLE . PostgreSQL es compatible con las diversas acciones que se deben realizar con ALTER TABLE, como se indica a continuación:
- Agregar una columna a una tabla existente
ALTER TABLE table_name ADD COLUMN new_column_name TYPE;
- Suelta una columna de una tabla existente
ALTER TABLE table_name DROP COLUMN column_name;
- Cambiar el nombre de una columna de una tabla existente
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
- Cambiar el nombre de una columna de una tabla existente
ALTER TABLE table_name ALTER COLUMN column_name [SET DEFAULT value | DROP DEFAULT];
- Cambiar restricción NOT NULL
ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];
- Agregar restricciones CHECK a una columna
ALTER TABLE table_name ADD CHECK expression;
- Añadir una restricción
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
- Cambiar el nombre de una tabla existente
ALTER TABLE table_name RENAME TO new_table_name;
La instrucción UPDATE se utiliza para actualizar o modificar datos existentes en la tabla.
Sintaxis:
UPDATE table_name SET column_1 = value_1, column_2 = value_2, ... WHERE condition_1 AND condition_2;
Ejemplo:
La declaración DELETE se usa para eliminar las filas de la tabla.
Sintaxis:
DELETE FROM table_name WHERE condition;
Ejemplo: