Installer et utiliser PostgreSQL sur CentOS 7... en 3 minutes

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:
1
sudo yum install postgresql-server postgresql-contrib
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:
1
sudo postgresql-setup initdb
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:
1
sudo vi /var/lib/pgsql/data/pg_hba.conf
Remplacez "ident" par "md5" : ph_hba
1
sudo vi /var/lib/pgsql/data/postgresql.conf
SAS-libname-postgres-could-not-connect-to-server-Connection-refused-is-the-server-running-on-host Maintenant, démarrez et activez PostgreSQL:
1
2
sudo systemctl start postgresql
sudo systemctl enable 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:
1
sudo -i -u postgres
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:
1
psql
invite_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
postgres_create_user

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
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. : list_db_postgres create_roles
1
select * from pg_roles;
pg_roles_sas
1
ALTER ROLE "sasdb" WITH LOGIN;
pssql_alter_role_with_login psql_sas_fonctionne_avec_sasdb Pour autoriser un accès distant ( à partir de SAS par exemple), il faut modifier le fichier pg_hba.conf : sas_libname_CLI_error_trying_to_establish_connection_FATAL_no pg_hba.conf_entry_for_host 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;
sas_psql_monitor_requete_et_session Pour afficher toutes les bases de données PostgreSQL et leur taille :
1
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;
taille_base_de_donnees_postgres   Afficher les requêtes en cours d’exécution :
1
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;
sas-examen-requete-sql-dans-postgres    

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.