Operaciones básicas en PostgreSQL
Si estás comenzando a utilizar PostgreSQL quizás te sea de ayuda conocer los comandos más básicos para llevar a cabo las tareas cotidianas en este sistema.
Las siguientes pruebas las realizaremos conectándonos por consola a un servidor de PostgreSQL.
Entrar por consola:
psql -U oliver employeesystem;
Salir de la consola de PostgreSQL:
\q
Listar bases de datos:
\l
Listar bases de datos con más columnas de información:
\l+
Listar tablas:
\dt
Listar tablas con columna tamaño y descripción
\dt+
Entrar en una base de datos:
psql -h localhost -d product -U oliver
Otra forma:
psql -U lois oliver
Crear base de datos:
CREATE DATABASE employee;
Gestión de usuarios
Listar usuarios:
\du
Crear usuario:
CREATE USER oliver;
Asignar contraseña:
ALTER USER oliver WITH PASSWORD 'oliver';
Asignar permisos de root:
ALTER USER oliver WITH SUPERUSER;
Asignar nuevo propietario a la base de datos:
ALTER DATABASE employee OWNER TO oliver;
Asignar permisos a base de datos:
GRANT ALL PRIVILEGES ON DATABASE employee TO oliver;
Base de datos
Renombrar una base de datos. Para esto deberemos situarnos fuera de esta base de datos:
ALTER DATABASE employee RENAME TO employeeyystem;
Volvemos a entrar en la base de datos:
psql -U oliver employeesystem;
Otra forma de cambiar de base de datos:
\c employeesystem
Tablas
Creamos una tabla:
CREATE TABLE employee (
employee_id serial PRIMARY KEY,
firstname VARCHAR ( 50 ) NOT NULL,
lastname TEXT NOT NULL,
email VARCHAR ( 255 ) UNIQUE NOT NULL,
birth_year INTEGER NULL,
created_on TIMESTAMP NOT NULL
);
Revisamos las columnas de esta tabla:
\d employee
Eliminamos una columna:
ALTER TABLE employee DROP COLUMN created_on;
Eliminamos una columna si existe:
ALTER TABLE employee DROP COLUMN IF EXISTS created_on;
Listamos las filas de esta tabla:
SELECT * FROM employee;
Insertar un valor:
INSERT INTO employee( firstname, lastname, email, birth_year ) VALUES ('Anthony', 'Trump', 'test@test.com', 1984);
Actualizar una fila:
UPDATE employee SET lastname ='Lou' WHERE employee_id = 1;
Eliminar una fila:
DELETE FROM employee WHERE employee_id = 1;
Vaciar una tabla:
TRUNCATE employee RESTART IDENTITY;