PostgreSQL es una plataforma de base de datos relacional potente y de código abierto. Es escalable a través de múltiples plataformas y es una herramienta muy utilizada y muy querida. ¡En este tutorial, le mostraremos cómo instalar PostgreSQL en CentOS 7!
¿Cómo funciona PostgreSQL?
PostgreSQL usa SQL para consultas relacionales y JSON para consultas no relacionales. ¡Una ventaja de usar PostgreSQL es su inmenso apoyo comunitario! Su naturaleza de código abierto significa que muchos desarrolladores contribuyen al crecimiento de esta utilidad.
PostgreSQL es escalable, confiable y está acompañado de funciones de optimización avanzadas. En la mayoría de los casos, las personas asumen que la optimización avanzada y los tipos de datos solo son compatibles con bases de datos comerciales como SQL Server y Oracle. Contrariamente a esta creencia, PostgreSQL proporciona todo esto y muchas más funciones avanzadas, lo que definitivamente lo convierte en una valiosa adición a su VPS.
PostgreSQL es extremadamente simple de comenzar a usar y dominar.
Aquí demostraremos cómo instalar PostgreSQL en CentOS 7.
¡Importante! CentOS Linux 8 alcanzó su fin de vida útil (EOL) el 2021-12-31. Si bien CentOS Linux 7 todavía es compatible, llegará a EOL el 2024-06-30. Recomendamos tener eso en cuenta al elegir este sistema operativo. Puedes leer más sobre esto en su sitio web oficial.
Puede instalar PostgreSQL en CentOS 7 usando uno de dos métodos:
- Instalar PostgreSQL desde repositorios CentOS existentes
- Instalar desde el repositorio de PostgreSQL
Revisemos cada uno de estos métodos con más detalle:
Primer método:instale PostgreSQL en CentOS 7 usando los repositorios de CentOS
El repositorio de CentOS 7 contiene PostgreSQL. Tenga en cuenta que es posible que no tenga la última versión de PostgreSQL. Al momento de escribir, el repositorio aloja la versión 9.2.15 de PostgreSQL.
1. Accede a tu servidor
Recuerde, antes de comenzar a instalar PostgreSQL en CentOS 7, debemos acceder a nuestro servidor privado virtual con SSH. Consulta nuestro tutorial de PuTTY si tienes problemas
2. Instale PostgreSQL en CentOS 7
Es sencillo instalar PostgreSQL desde los repositorios de CentOS 7. Comience con el siguiente comando:
sudo yum install postgresql-server postgresql-contrib
Esto puede tardar algún tiempo en completarse.
3. Inicializar la base de datos
Una vez finalizada la instalación, puede inicializar la base de datos con el siguiente comando:
sudo postgresql-setup initdb
4. Inicie la base de datos
Después de inicializar la base de datos, puede iniciar la base de datos usando:
sudo systemctl start postgresql
5. (Opcional) Habilite PostgreSQL
Esto completa la instalación e inicialización de nuestra base de datos. Si es necesario, puede configurar PostgreSQL para que se inicie automáticamente en cada reinicio del sistema.
sudo systemctl enable postgresql
Segundo método:instale PostgreSQL en CentOS 7 usando el repositorio de PostgreSQL
Con este método, puede descargar cualquier versión más reciente de PostgreSQL desde el sitio web oficial. Puede seleccionar la versión de PostgreSQL de los repositorios de PostgreSQL yum. Actualmente, esto muestra la versión 9.6 de PostgreSQL como la última versión.
1. Accede a tu servidor
Al igual que con el método anterior, primero tenemos que acceder a nuestro servidor mediante SSH.
2. Descargar PostgreSQL usando Wget
Ahora vamos a descargar PostgreSQL versión 9.6.3. Del mismo modo, puede descargar cualquier versión. Esto se puede hacer usando el comando wget.
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Esto también requiere el administrador de paquetes RPM o RedHat junto con los repositorios EPEL (Extra Packages Enterprise Linux). Esto es necesario para las dependencias adicionales de PostgreSQL.
3. Instale PosgreSQL en CentOS 7 con el paquete descargado
Esto se puede instalar usando el siguiente comando:
sudo yum install pgdg-centos96-9.6-3.noarch.rpm epel-release
4. Actualizar Yum
Actualice yum para que sus cambios se reflejen. Use el siguiente comando para esto:
sudo yum update
5. Complete el proceso de instalación de PostgreSQL para CentOS 7
Esto completa nuestros requisitos previos para la instalación de PostgreSQL. A continuación, podemos instalar esto usando el siguiente comando:
sudo yum install postgresql96-server postgresql96-contrib
Esto completa nuestra instalación de PostgreSQL.
6. Inicializar la base de datos
A continuación, puede inicializar la base de datos usando:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
7. Reinicie PostgreSQL
Puede reiniciar PostgreSQL usando:
sudo systemctl start postgresql-9.6
8. (Opcional) Habilite el lanzamiento de PostgreSQL al reiniciar
En caso de que desee que PostgreSQL se inicie automáticamente al reiniciar el sistema, puede usar opcionalmente el siguiente comando:
sudo systemctl enable postgresql-9.6
Configuración básica de PostgreSQL
En Linux por defecto, un usuario llamado postgres se crea una vez que se instala PostgreSQL. Puede cambiar la contraseña del usuario con el siguiente comando:
sudo passwd postgres
Se le pedirá que ingrese la nueva contraseña dos veces.
A continuación, puede cambiar al indicador de PostgreSQL y cambiar la contraseña para el usuario de postgres de PostgreSQL usando:
su - postgres
Si recibe un error, puede establecer un shell válido en el usuario con el siguiente comando:
su --shell /bin/bash postgres
Luego, ejecute el mismo comando:
su - postgres
Para cambiar la contraseña, use el siguiente comando donde agrega su nueva contraseña en lugar de la Nueva contraseña :
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'NewPassword';"
Puede cambiar al shell del cliente de PostgreSQL usando:
psql postgres
Aquí puede consultar la lista de comandos disponibles escribiendo \h . Puedes usar \h seguido del comando del que necesita más información. Para salir del entorno puedes escribir \q .
El comando createdb le permite crear nuevas bases de datos. Supongamos que queremos crear una nueva base de datos llamada testDB usando postgres usuario de linux El comando que usaríamos se vería así:
createdb testDB
Puede crear un nuevo rol usando el comando createuser. A continuación se muestra un ejemplo en el que estamos creando un rol llamado samplerole utilizando el usuario de Linux postgres.
createuser samplerole –pwprompt
Aquí se le pedirá que establezca una contraseña para el usuario.
Opcionalmente, puede asignar la propiedad de nuestra base de datos recién creada a un usuario o rol específico de Postgres. Esto se puede hacer con un comando como este:
createdb testDB -O samplerole
En el comando anterior, reemplace samplerole con el rol que desea usar.
Puede conectarse a esta nueva base de datos usando el siguiente comando:
psql testDB
En caso de que desee usar un usuario o rol específico para iniciar sesión, use el comando como se muestra a continuación:
psql testDB -U samplerole
Esto le pedirá que ingrese la contraseña.
Puedes usar \l o \lista comandos para mostrar todas las bases de datos. Para conocer la base de datos actual que está usando, puede usar \c . En caso de que desee obtener más información sobre las conexiones, como el zócalo, el puerto, etc., puede usar \conninfo .
También puede descartar o eliminar una base de datos mediante dropdb dominio. Sin embargo, recuerda verificar lo que estás eliminando antes de hacerlo. Las bases de datos eliminadas no se pueden recuperar.
Para eliminar una base de datos, puede usar:
dropdb testDB
PostgreSQL similar a otras bases de datos permite:
- Creación de tablas
- Eliminación de tablas
- Actualizaciones de tablas
- Suma de columnas
- Soltar columna
- Consultar una tabla
- Alterar comandos
- Otorgar privilegios
La sintaxis de todos estos comandos es similar a la de la mayoría de los comandos de bases de datos. Puede listar todas las tablas usando \dt dominio. Para listar todos los roles, usa el \du dominio. Para obtener más información, le recomendamos que lea la documentación oficial.
Conclusión
Con esto, le mostramos la instalación de PostgreSQL en CentOS 7 y también lo guiamos a través de la configuración básica de PostgreSQL. Hay varias cosas que todavía se pueden aprender en PostgreSQL. Siendo este un punto de partida, desde aquí puede comenzar a explorar más sobre los comandos de PostgreSQL.