Skip to content

Instantly share code, notes, and snippets.

@luciomartinez
Last active January 26, 2023 23:50
Show Gist options
  • Save luciomartinez/7801fbcc90b4fbfd704a to your computer and use it in GitHub Desktop.
Save luciomartinez/7801fbcc90b4fbfd704a to your computer and use it in GitHub Desktop.
Cómo usar PostgreSQL en GNU/linux?

Instalar postgres, el garron de tu vida

$ sudo apt install postgresql postgresql-contrib

Create un usuario como super user cuando es tan inutil que no va a servir para loguearte

$ sudo -u postgres createuser --interactive -P

Loguearte como postgres porque tu user es aun una bosta

$ sudo -u postgres psql postgres

Ahora podes crear una DB y setear tu usuario como propietario. Expropiese!

postgres=# CREATE DATABASE exammed WITH OWNER admin;

Cerra todo

\q

Listo, ahora te podes loguear con tu nuevo usuario y tu nueva DB porque sos un genio

psql -U admin -d exammed -h localhost -W

Gracias Mac querido!

Sólo ingresa psql -U <usuario> -W y listo!

Sino te acuerdas usuarios ni contraseñas: sudo -u postgres psql postgres

Todavía no anda? ALTER USER <usuario> WITH PASSWORD '<nuevapass>';

Todavía no anda? psql -U <usuario> -W -h localhost

Lo de abajo es historia..


PostreSQL cuenta con 2 modos de uso:

  1. Comandos para gestión del motor
  2. Comandos para la gestión de base de datos de usuario (comandos SQL)

El modo 1 es el que utilizan todas las CLI comunes (i.e. MySQL)

Ejemplo de implementación:

  • Modo 0: createdb --owner owner_name database_name
  • Modo 1: CREATE DATABASE test;

Para ejecutar la interfaz PostreSQL:

$ sudo su - postgres
postgres@server-name:~$ logout # Salir de la interfaz
$

Desde aquí se pueden ejecutar comandos del modo 0. Para ingresar comandos del modo 1, se utiliza el siguiente comando:

postgres@server-name:~$ psql -c "-- SENTENCIAS SQL AQUI"

Para ejecutar comandos (del modo 0 o modo 1) sin ingresar a la interfaz PostreSQL, se puede utilizar el siguiente comando:

sudo su postgres -c "# COMANDO MODO 0"
sudo su postgres -c "psql -c \"-- COMANDO MODO 1\""

Ejemplo de uso:

# Comando modo 0
sudo su postgres -c "createuser -DIRSw $USERNAME" 
# Comando modo 1
sudo su postgres -c "psql -c \"DROP DATABASE $DATABASENAME\""

NOTA: he decidido llamar modo 0 y 1 para facilitar la comprensión, solamente es una regla que utilicé aquí.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment