Skip to main content

install-bd-postgresql

Installation de postgreSql Ubuntu, Debian

Ici nous allons procédés à l'installation de postgresql pour une base de données. Nous allons l'installés dans un serveur Debian ou Ubuntu

Pour ce tuto je travaille sur une plateform Ubuntu 24 et Debian archictecture arm64.

sudo cat /etc/*elea*
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Pour configurer manuellement le référentiel Apt, procédez comme suit:

postgresql.org/wiki/Apt

# Import the repository signing key:
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
# Create the repository configuration file:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Update the package lists:
sudo apt update
# Install the latest version of PostgreSQL:
# If you want a specific version, use 'postgresql-16' or similar instead of 'postgresql'
sudo apt -y install postgresql

Install postgresql Ubuntu amd64 arm64 Debian

sudo apt update
sudo apt install -y postgresql

Start Postgresql

sudo systemctl start postgresql@15-main
sudo systemctl status postgresql@15-main

Connectez-vous à postgresql

sudo su - postgres
#Enter base postgres
psql
#show all data base
\l
# exit postgresql
\q

access user postgres

sudo nano /etc/sudoers
#user_name ALL=(ALL) ALL
postgres ALL=(ALL) ALL

install netstat

sudo apt install net-tools
# view version
netstat -v
#
netstat -nr
#show all tcp connected listen
netstat -ntaup
sudo apt install net-tools
# IPtable show
netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.231.2 0.0.0.0 UG 0 0 0 eth0
192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.231.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Show all services upgrade debian

sudo apt list --upgradable

Création d'une nouvelle table zabbix

sudo -u postgres psql -c "create database zabbix;"
create database zabbix;
postgres@backend:~$ psql
psql (15.10 (Debian 15.10-0+deb12u1))
Type "help" for help.

postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
zabbix | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | libc |

Verifiy start postgres

netstat -ntaup
netstat -nlp | grep 5432
sudo netstat -lp --protocol=unix | grep postgres

Création d'un nouvel utulisateur zabbix dans la base postgres

  1. Création d'un utulisateur zabbix avec les droits de privillèves
sudo -u postgres psql
create user zabbix with password 'zabbix';
grant ALL privileges on database zabbix to zabbix;
  1. Utiliser notre server en dehors de lui même en changent le listen_addresses
sudo su
echo "listen_addresses = '*'" >> /etc/postgresql/15/main/postsgresql.conf

Ou à la main

sudo nano /etc/postgresql/15/main/postgresql.conf
#add host listen:
listen_addresses = '*'
  1. Acceder à notre base postgres depuis l'exterieur on va donc changer le fichier de configuration pg_hba.conf Ce qui va permettre de filter les utulisateur qui ont les droits de faire des manipulations et à partir de quel serveur.

[Def]: access: host:ip > base zabbix > all(tous les utulisateurs) > plage ip > en mot de passe (md5)

sudo su
echo "host zabbix all 192.168.50.102/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
echo "host zabbix all 192.168.231.253/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
echo "host zabbix all 192.168.50.0/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
echo "host zabbix all 192.168.231.0/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
# voir le resultat du fichier si notre commande existe bien.
cat /etc/postgresql/15/main/pg_hba.conf
sudo service postgresql restart
sudo systemctl start postgresql@15-main
sudo systemctl restart postgresql@15-main
sudo systemctl status postgresql@15-main
sudo systemctl restart postgresql
sudo systemctl status postgresql
sudo systemctl start postgresql
sudo netstat -nlp | grep 5432