Les référentiels par défaut de CentOS contiennent des paquets PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes., donc nous pouvons les installer sans tracas en utilisant le système de paquets yum.
Installez le paquet postgresql-server et le paquet "contrib", qui ajoute quelques utilitaires et fonctionnalités supplémentaires:
Maintenant que postgresqlest installé, nous devons effectuer quelques étapes avant de pouvoir l'utiliser.
Créez un nouveau clusterEnsemble de nœuds (machines) interconnectés, gérés par Kubernetes, qui collaborent pour exécuter les microservices et le moteur CAS de SAS Viya, assurant haute disponibilité et passage à l'échelle. de base de données PostgreSQL:
Par défaut, PostgreSQL n'autorise pas l'authentification par mot de passe. Nous allons changer cela en éditant sa configuration d'authentification basée sur l'hôte (HBA).
Ouvrez la configuration HBA avec votre éditeur de texte favori. Nous allons utiliser vi:
Remplacez "ident" par "md5" :
Maintenant, démarrez et activez PostgreSQL:
Par défaut, PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. utilise un concept appelé "rôles" pour faciliter l'authentification et l'autorisation. Ceux-ci sont, à certains égards, similaires aux comptes habituels de type Unix, mais PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. ne fait pas de distinction entre les utilisateurs et les groupes et préfère à la place le terme plus souple "rôle".
Lors de l'installation, PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. est configuré pour utiliser l'authentification "ident", ce qui signifie qu'il associe les rôles PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. à un compte système Unix / Linux correspondant. Si un rôle PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. existe, il peut être connecté en se connectant au compte système Linux associé.
La procédure d'installation a créé un compte utilisateur appelé postgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. associé au rôle PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. par défaut.
Pour utiliser PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes., nous devons nous connecter à ce compte. Vous pouvez le faire en tapant:
Maintenant vous pouvez obtenir une invite PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. immédiatement en tapant:
Vous serez connecté automatiquement et serez en mesure d'interagir avec le système de gestion de base de données tout de suite.
Cependant, nous allons vous expliquer un peu comment utiliser d'autres rôles et bases de données afin d'avoir une certaine flexibilité quant à l'utilisateur et la base de données avec lesquels vous souhaitez travailler.
La commande \list permet de lister les bases présentes dans PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes. :
Pour autoriser un accès distant ( à partir de SAS par exemple), il faut modifier le fichier pg_hba.conf :
Sans cette modification, vous pourriez avoir les messages d'erreurs suivant lors d'une tentative de connexion depuis SAS :
ERROR: CLI error trying to establish connection: FATAL: password
authentication failed for user "sasdb"
ERROR: Error in the LIBNAME statement.
ERROR: CLI error trying to establish connection: could not connect to server:
Connection refused Is the server running on host "10.104.30.45" and
accepting TCP/IP connections on port 5432?
ERROR: Invalid connection options. Lack PASSWORD option.
ERROR: Error in the LIBNAME statement.
ERROR: CLI error trying to establish connection: FATAL: no pg_hba.conf entry
for host "10.104.18.148", user "sasdb", database "sasdb", SSL off
ERROR: Error in the LIBNAME statement.
Pour afficher toutes les bases de données PostgreSQL et leur taille :
Afficher les requêtes en cours d’exécution :
1
sudo yum install postgresql-server postgresql-contrib
1
sudo postgresql-setup initdb
1
sudo vi /var/lib/pgsql/data/pg_hba.conf
1
sudo vi /var/lib/pgsql/data/postgresql.conf
Maintenant, démarrez et activez PostgreSQL:
1
2
2
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl enable postgresql
1
sudo -i -u postgres
1
psql
Vous serez connecté automatiquement et serez en mesure d'interagir avec le système de gestion de base de données tout de suite.
Cependant, nous allons vous expliquer un peu comment utiliser d'autres rôles et bases de données afin d'avoir une certaine flexibilité quant à l'utilisateur et la base de données avec lesquels vous souhaitez travailler.
Créer un nouveau rôle
À partir du compte Linux postgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes., vous avez la possibilité de vous connecter au système de base de données. Cependant, nous allons également montrer comment créer des rôles supplémentaires. Le compte Linux postgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes., associé au rôle administratif de PostgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes., a accès à certains utilitaires pour créer des utilisateurs et des bases de données. Nous pouvons créer un nouveau rôle en tapant:1
createuser --interactive
Créer une nouvelle base de données
Vous pouvez créer la base de données appropriée en appelant simplement cette commande en tant qu'utilisateur postgresPostgreSQL (Postgres) est le moteur de base de données relationnelle open source intégré à SAS Viya pour gérer les métadonnées, le stockage de configuration et les services d'infrastructure internes.:1
createdb sasdb
1
select * from pg_roles;
1
ALTER ROLE "sasdb" WITH LOGIN;
Pour autoriser un accès distant ( à partir de SAS par exemple), il faut modifier le fichier pg_hba.conf :
Sans cette modification, vous pourriez avoir les messages d'erreurs suivant lors d'une tentative de connexion depuis SAS :
ERROR: CLI error trying to establish connection: FATAL: password
authentication failed for user "sasdb"
ERROR: Error in the LIBNAME statement.
ERROR: CLI error trying to establish connection: could not connect to server:
Connection refused Is the server running on host "10.104.30.45" and
accepting TCP/IP connections on port 5432?
ERROR: Invalid connection options. Lack PASSWORD option.
ERROR: Error in the LIBNAME statement.
ERROR: CLI error trying to establish connection: FATAL: no pg_hba.conf entry
for host "10.104.18.148", user "sasdb", database "sasdb", SSL off
ERROR: Error in the LIBNAME statement.
Monitoring
Pour monitorer les sessions, vous pouvez utiliser la requête SQL suivante :1
select usename,client_addr,state,backend_start,query_start from pg_stat_activity where client_addr is not null;
Pour afficher toutes les bases de données PostgreSQL et leur taille :
1
2
3
4
5
2
3
4
5
select
datname as base,
pg_size_pretty(pg_database_size(datname)) as taille
from pg_database
order by pg_database_size(datname) desc;
datname as base,
pg_size_pretty(pg_database_size(datname)) as taille
from pg_database
order by pg_database_size(datname) desc;
Afficher les requêtes en cours d’exécution :
1
2
3
2
3
SELECT
S.pid, age(clock_timestamp(), query_start),usename,query,L.mode,L.locktype,L.granted FROM pg_stat_activity S
inner join pg_locks L on S.pid = L.pid WHERE usename != 'postgres' order by L.granted, L.pid DESC;
S.pid, age(clock_timestamp(), query_start),usename,query,L.mode,L.locktype,L.granted FROM pg_stat_activity S
inner join pg_locks L on S.pid = L.pid WHERE usename != 'postgres' order by L.granted, L.pid DESC;






