Cómo instalar Postgresql 14 en Ec2 Amazon Linux 2

PostgreSQL, también conocido como Postgres, es un potente sistema de gestión de bases de datos relacionales de código abierto. Es ampliamente utilizado para aplicaciones web, almacenamiento de datos y análisis debido a su escalabilidad y características sólidas. Amazon Linux 2, por otro lado, es una distribución Linux de servidor diseñada específicamente para usar en la plataforma en la nube de Amazon Web Services (AWS).

Aquí seguiremos los pasos y aprenderemos los comandos para instalar la versión 14 de PostgreSQL en el servidor Amazon Linux 2 que se ejecuta localmente o en AWS EC2.

requisitos previos:

Primero confirmemos, tienes todo lo necesario para seguir este tutorial:

  • Servidor Amazon Linux 2 en una máquina virtual local, Docker o una instancia AWS EC2.
  • Al menos 1 GB de espacio libre en el disco duro, 2 GB de RAM y una CPU de un solo núcleo
  • Para instalar paquetes necesitamos sudo o acceso de usuario root
  • Por supuesto, una conexión a Internet activa para descargar los paquetes de PostgreSQL

Paso 1: Descargue e instale actualizaciones

El primer paso en la dirección de instalar PostgreSQL en amazonas linux 2 es asegurarnos de que nuestro servidor esté actualizado. Por lo tanto, en su terminal de comando use el ñam y ejecute el comando de actualización del sistema. Esto asegurará que tengamos los paquetes más recientes y la memoria caché del repositorio actualizada.

                      
                        sudo yum update
                      
                    

Paso 2: agregar el repositorio Postgresql 14 Yum

No necesitamos agregar un repositorio Yum adicional en Amazon Linux 2 para instalar PostgreSQL. Porque está disponible a través del repositorio del sistema predeterminado. Pero la versión disponible usándolo es postgresql 9 , que es bastante antiguo. Por lo tanto, aquellos que estén interesados ​​en PostgreSQL 14 necesita agregar el repositorio PGDG14 manualmente usando el comando que se indica a continuación:

Copie el bloque completo del comando dado y péguelo tal como está:

                      
                        sudo tee /etc/yum.repos.d/pgdg.repo<<EOF

[pgdg14]

name=PostgreSQL 14 for RHEL/
                        
                          CentOS
                        
                         7 - x86_64

baseurl=https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x86_64

enabled=1

gpgcheck=0

EOF
                      
                    

Después de agregar el repositorio, ejecute el comando de actualización del sistema, una vez más.

                      
                        sudo yum update
                      
                    

Paso 3: Instalación de Postgresql 14 en Amazon Linux 2

Después de agregar el repositorio y actualizar el repositorio de paquetes, podemos instalar el paquete PostgreSQL y sus dependencias en Amazon Linux como cualquier otro software a través de YUM.

                      
                        sudo yum install postgresql14 postgresql14-server
                      
                    

Paso 4: inicialice la base de datos

Hemos seguido todos los pasos necesarios hasta ahora para tener una base de datos PostgreSQL en funcionamiento en nuestro sistema Linux. Ahora, antes de iniciar y habilitar el servicio de la Base de Datos, vamos a inicializarlo. para ese uso initdb que creará un nuevo clúster de base de datos PostgreSQL se refiere a una colección de bases de datos administradas por una sola instancia de servidor.

                      
                        sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
                      
                    

A cambio obtendrás:

                      
                        Initializing database ... OK
                      
                    

Paso 5: Inicie y habilite el servicio PostgreSQL

si tienes Initializing database ... OK eso significa que todo está bien y podemos iniciar los servicios del servidor de base de datos, usando:

                      
                        sudo systemctl start postgresql-14
                      
                    

Bueno, también deberíamos marcar el servicio de PostgreSQL activado para que pueda iniciarse de forma atómica, si se bloquea o con el arranque del sistema.

                      
                        sudo systemctl enable postgresql-14
                      
                    

Para confirmar que funciona sin producir ningún error, utilice:

                      
                        sudo systemctl status postgresql-14
                      
                    
Iniciar y habilitar el servicio PostgreSQL

Paso 6: Configurar PostgreSQL

Pocas cosas que a un usuario le gustaría realizar en su servidor de base de datos Linux recién instalado.

1. Cambiar la contraseña de la base de datos de administración

Para asegurarse de que nuestro PostgreSQL esté protegido con una contraseña segura, establezca una contraseña para el usuario del sistema y la base de datos predeterminada admin cuenta de usuario usando los comandos dados a continuación-

Cambiar contraseña de usuario

                      
                        sudo passwd postgres
                      
                    

Inicie sesión con la cuenta del sistema Postgres-

                      
                        su - postgres
                      
                    

Ahora, cambie la contraseña de la base de datos de administración.

                      
                        psql -c "ALTER USER postgres WITH PASSWORD 'your-password';"
                      
                    

Nota : Reemplazar “ tu contraseña ” en el comando anterior con una contraseña segura que desea fijado para el admin usuario de la base de datos.

2. Archivo de configuración principal

Hasta ahora, hemos aprendido todas las cosas clave para hacer que PostgreSQL funcione sin advertencias en Amazon Linux. Para realizar más configuraciones, los usuarios deben acceder al archivo de configuración principal de PostgreSQL ubicado en /var/lib/pgsql/"version"/data/postgresql.conf .

Podemos editar este archivo con editores de texto como VIM o Nano.

                      
                        sudo nano /var/lib/pgsql/
                        
                          14
                        
                        /data/postgresql.conf
                      
                    

No cambie arbitrariamente nada de este archivo porque puede provocar el mal funcionamiento del servidor de la base de datos. Es bueno hacer una copia de seguridad del archivo antes de realizar cualquier adición.

                      
                        sudo cp /var/lib/pgsql/14/data/postgresql.conf /var/lib/pgsql/14/data/postgresql.conf.bak
                      
                    

Ahora , tenemos la copia de seguridad, si algo pasa mal podemos usarla. Bueno, hay varias opciones de configuración que puedes establecer en este archivo, pero nos centraremos en las más importantes.

4. Escuche la dirección

De forma predeterminada, el servidor PostgreSQL solo escuchará servidor local . Pero, si desea que responda a una dirección IP o rango específico o a todas las direcciones, podemos hacerlo cambiando el valor de la listen_addresses opción en el archivo de configuración:

Encuéntrelo y elimine el # dado delante de la opción. Después de eso, agregue la dirección que desea que el servidor solo escuche.

                      
                        listen_addresses="localhost"
                      
                    

o

Para todas las direcciones IP use:

                      
                        listen_addresses="*"
                      
                    

Para guardar los cambios presione Control+O y pulsa el Enter llave. Para salir usa Ctrl+X .

Escuchar dirección

5. Autenticación

Para la autenticación, hay un archivo separado llamado “pg_hba.conf ” aparte del archivo de configuración principal en el mismo directorio.

Bueno, por defecto; PostgreSQL permite que todos los usuarios y hosts de bases de datos se conecten localmente a la base de datos con un par o lárgate-sha-256 método. Si desea cambiar eso, podemos editar el pg_hba.con f y establezca el método de autenticación en md5.

Para editar este archivo, ejecute el siguiente comando:

                      
                        sudo nano /var/lib/pgsql/14/data/pg_hba.conf
                      
                    

Encuentre la línea como se indica a continuación y reemplace la lárgate-sha-256 con cualquier otro método que desee utilizar, como md5.

                      
                        # "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                      scram-sha-256

                      
                    

Nota : También para conectarse de forma remota usando la utilidad PSQL, cambie 127.0.0.1/32 a 0.0.0.0/ 0 y ::1/128 a ::0/0

Cómo crear un usuario y una base de datos

Aquellos que son nuevos en esta base de datos de código abierto pueden usar esta sección del tutorial para crear un nuevo usuario y base de datos en PostgreSQL.

  1. Primero, conéctese al servidor PostgreSQL como un postgres usuario ejecutando el siguiente comando:
                      
                        sudo -u postgres psql
                      
                    
  1. una vez que estés registrado adentro, puedes crear un nuevo usuario de base de datos ejecutando la sintaxis dada:

Reemplazar “ su nombre de usuario ” con el usuario que desea crear y la contraseña con lo que quiera establecer para él.

                      
                        CREATE USER your-username WITH PASSWORD 'password';
                      
                    
  1. Después de crear el usuario, vamos a crear una nueva base de datos ejecutando el siguiente comando:
                      
                        CREATE DATABASE database_name;
                      
                    
  1. Tenemos un nuevo usuario y base de datos de PostgreSQL, otorguemos todos los derechos de la base de datos creada a nuestro usuario recién creado. Para que pueda acceder a él para almacenar datos.
                      
                        GRANT ALL PRIVILEGES ON DATABASE 
                        
                          database_name
                        
                         TO 
                        
                          your-username
                        
                        ;
                      
                    
  1. Para verificar si la base de datos y el usuario se crearon, simplemente ejecute el comando dado y mostrará una lista de todos los usuarios y bases de datos de PostgreSQL disponibles.
                      
                        l
                      
                    
Crear usuario y base de datos postgreSQL

Acceso a la base de datos

El acceso a la base de datos que ha creado en el servidor PostgreSQL se puede hacer usando su comando de cliente: pslq

Localmente o Usuarios de conexión al servidor SSH use la sintaxis dada para conectar la base de datos:

                      
                        psql -h localhost -U username -d database_name
                      
                    

Usuarios remotos después de instalar el Cliente PostgreSQL puedo usar:

                      
                        psql -h server-ip-address --U username  -d database_name
                      
                    

Dónde nombre de usuario es el nombre de usuario que creamos anteriormente o que ya tiene y nombre de la base de datos es el nombre de la base de datos asignada a ese usuario en particular.

preguntas frecuentes

P: ¿Cómo verificar si PostgreSQL se está ejecutando en Amazon Linux 2?

A: Para saber que el servicio del servidor PostgreSQL se está ejecutando en segundo plano en Amazon Linux 2, podemos ejecutar el siguiente comando:

                      sudo systemctl status postgresql
                    

Si el servicio se está ejecutando, debería mostrar un estado de Activo en color verde.

P: ¿Cómo iniciar/detener el servidor PostgreSQL en Amazon Linux 2?

A: Para iniciar o detener el servidor PostgreSQL en Amazon Linux 2 podemos usar el ‘ systemctl' comando aquí es cómo usarlo:

                      
                        sudo systemctl start postgresql
sudo systemctl stop postgresql
                      
                    

P: ¿Cómo reiniciar PostgreSQL en Amazon Linux 2?

A: Para reiniciar PostgreSQL en Amazon Linux 2, podemos ejecutar el siguiente comando:

                      
                        sudo systemctl restart postgresql
                      
                    

P: ¿Cómo configurar la dirección de escucha de PostgreSQL en Amazon Linux 2?

R: Para personalizar la dirección IP de escucha de PostgreSQL, edite su archivo de configuración principal disponible en: sudo nano /var/lib/pgsql/"version"data/postgresql.conf

reemplazar “ versión ” con la versión del servicio de Base de Datos que tengas. Para examplesi esto es 14 entonces el comando será:

                      
                        sudo nano /var/lib/pgsql/14/data/postgresql.conf
                      
                    

Encuentra la línea #escuchar_direcciones = ‘localhost’ y cambiarlo a l direcciones_escucha = ‘*’ . Esto permitirá que PostgreSQL escuche en todas las interfaces de red disponibles.

P: ¿Cómo hacer una copia de seguridad de una base de datos PostgreSQL en Amazon Linux 2?

A: Para hacer una copia de seguridad de una base de datos PostgreSQL en Amazon Linux 2, podemos usar el pg_dump utilidad. Para example, si nuestra base de datos se llama mi_DB luego para usar esta utilidad el comando será así:

                      
                        pg_dump -U username my_DB > my-backup_file.sql
                      
                    

El comando anterior creará my_DB Copia de seguridad de la base de datos en my- archivo_backup_file.sql . Una vez hecho esto, copie o mueva el my-backup_file.sql archivo a una ubicación segura para que no lo elimine accidentalmente.

Related Posts