Debemos crear el script install_postgres_12.sh
con el siguiente contenido:
# Ref: https://www.postgresql.org/download/linux/ubuntu/
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Update the package lists:
sudo apt-get update
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql-12 postgresql-client-12
La instalación habrá creado el usuario de administración postgres
.
Posteriormente, creamos una password para el usuario postgres
:
sudo -i -u postgres
psql -c "alter user postgres with password 'nuestra_password'"
Podemos revisar la versión de Postgres en funcionamiento:
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
12 main 5433 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
13 main 5434 online postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
Cambio a usuario postgres en sistema operativo:
sudo -i -u postgres
psql
o en un sólo paso:
sudo -u postgres psql
Si deseamos importar una base de datos llamada nombre_db.sql
ejecutamos en el terminal del sistema operativo:
createdb "mibasededatos"
psql "mibasededatos" < mibasededatos.sql
or
createdb "mibasededatos"
pg_restore -c -d "mibasededatos" mibasededatos.sql
Comando | Descripción |
---|---|
\l | Muestra todas las bases de datos |
\c mibasededatos | Conecta a base de datos mibasededatos |
\d | Muestra todas las tablas |
\d nombretabla | Describe la tabla nombretabla |
\du | Muestra todos los usuarios y roles |
SELECT version(); | Muestra la versión en uso de Postgres |
\q | Salir de Postgres |
pg_dump mibasededatos > mibasededatos.sql
pass
pass
pg_ctl -D <directorio_de_trabajo> -l logfile start
Debemos obtener el código oficial de Pgadmin4
desde el repositorio oficial:
git clone https://github.com/postgres/pgadmin4.git
Luego creamos el ambiente virtual para instalar las dependencias Python
de Pgadmin4
.
virtualenv -p python3.8 venv3.8
. venv3.8/bin/activate
pip install --upgrade pip
pip install -U wheel
sudo apt install python3.8-dev
sudo apt install libpq-dev
pip install -r requirements.txt
Debemos crear dos directorios en /var/
:
sudo mkdir /var/lib/pgadmin
sudo mkdir /var/log/pgadmin
Debemos dar autorización de escritura (O propiedad) al usuario que ejecuta Pgadmin4
, que a modo ilustrativo llamaremos usuario
:
sudo chown usuario:usuario /var/lib/pgadmin/
sudo chown usuario:usuario /var/log/pgadmin/
Para ejecutar Pgadmin4
en nuestro ambiente local necesitamos crear el archivo web/config_local.py
con un contenido como el que se muestra a continuación:
from config import *
# Debug mode
DEBUG = True
# App mode
SERVER_MODE = True
# Enable the test module
MODULE_BLACKLIST.remove('test')
# Log
CONSOLE_LOG_LEVEL = DEBUG
FILE_LOG_LEVEL = DEBUG
DEFAULT_SERVER = '127.0.0.1'
UPGRADE_CHECK_ENABLED = True
# Use a different config DB for each server mode.
if SERVER_MODE == False:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-desktop.db'
)
else:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-server.db'
)
Para ejecutar Pgadmin4
necesitaremos un conjunto de paquetes de node
instalados.
En esta guía estamos utilizando nvm
para el control de versiones de node
.
Para instalar nvm
(Última versión 0.35.3 al momento de escribir este documento) ejecutamos:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
En caso de no tener la última versión de node
, podemos instalarla con (En este caso es v12.18.3):
nvm install 12.18.3
Además necesitaremos el manejador de paquetes yarn
, que podemos instalar con:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt install --no-install-recommends yarn
Luego de esto, podemos realizar la instalación de los paquetes de node
ejecutando en el directorio principal del repositorio:
make install-node
En caso de existir notificaciones de vulnerabilidades, tales como:
found 1 low severity vulnerability
run `npm audit fix` to fix them, or `npm audit` for details
durante la instalación podemos resolverlas, entrando al directorio web
con:
npm i --package-lock-only
npm audit fix
Luego, volviendo al directorio raíz del proyecto, continuamos con:
make bundle
Finalmente, podemos ejecutar Pgadmin4
con:
python web/pgAdmin4.py
Durante la ejecución, Pgadmin4
nos solicitará un username
y password
que nos servirá para acceder a éste como administrador. Podemos usar, por ejemplo, [email protected]
y admin4
, respectivamente:
Con esto, podremos acceder a Pgadmin4
desde el navegador web de nuestra elección.
En este momento debemos proceder a agregar un servidor, con los siguiente datos:
General --> Name = un_nombre
Connection --> Host Name/Address = localhost
Connection --> Username = usuario_postgres
Connection --> Username = password_postgres
En caso de no tener definida una password para nuestro usuario postgres
podemos hacerlo con:
sudo -u usuario_postgres psql
usuario_postgres=# alter user postgres password 'password_postgres';
usuario_postgres=# \q
Ok actualizado