Formation interne DBA42
Dalibo SCOP
24.09
29 août 2024
Cette formation est sous licence CC-BY-NC-SA. Vous êtes libre de la redistribuer et/ou modifier aux conditions suivantes :
PostgreSQL® Postgres® et le logo Slonik sont des marques déposées par PostgreSQL Community Association of Canada.
Ce document ne couvre que les versions supportées de PostgreSQL au moment de sa rédaction, soit les versions 12 à 16.
SELECT
TRUNCATE
INSERT
UPDATE
DELETE
EXPLAIN
ANALYZE
Foreign Data Wrapper de lecture de fichiers CSV.
CREATE EXTENSION file_fdw; CREATE SERVER fichier FOREIGN DATA WRAPPER file_fdw ; CREATE FOREIGN TABLE donnees_statistiques (f1 numeric, f2 numeric) SERVER fichier OPTIONS (filename '/tmp/fichier_donnees_statistiques.csv', format 'csv', delimiter ';') ;
fetch_size
postgres_fdw
dblink
Techniquement :
CREATE EXTENSION … CASCADE
ALTER EXTENSION UPDATE
DROP EXTENSION
\dx
pg_available_extensions
postgresql-*-contrib
…plus ou moins connues
Module contrib de chiffrement :
hstore
INSERT INTO demo_hstore (meta) VALUES ('river=>t'); SELECT * FROM demo_hstore WHERE meta@>'river=>t';
pg_dump_anon
Accès à des bases distantes
Accès à des informations ou des fonctions de bas niveau :
PostgreSQL eXtension Network :
N’hésitez pas, c’est le moment !
pgstattuple fournit une mesure (par parcours complet de l’objet) sur:
La freespacemap :
La Visibility Map :
VACUUM
Les verrous mémoire de PostgreSQL ne verrouillent pas les enregistrements :
Une connexion par utilisateur, pendant toute la durée de la session.
Multiplexe les transactions des utilisateurs sur une ou plusieurs connexions.
yum|dnf install pgbouncer
apt install pgbouncer
ini
[databases]
[users]
[pgbouncer]
listen_addr
listen_port
unix_socket_dir
unix_socket_mode
unix_socket_group
data1 = host=localhost port=5433 dbname=data1 pool_size=50
host
port
dbname
user
password
pool_size
pool_mode
connect_query
client_encoding
datestyle
timezone
+ = host=ip1 port=5432 dbname=data0
auth_hba_file
pg_hba.conf
userlist.txt
"utilisateur" "mot de passe"
auth_type
trust
md5
scram-sha-256
auth_file
admin_users
stats_users
auth_user
prod = host=p1 port=5432 dbname=erp auth_user=frontend
auth_query
max_client_conn
ulimit
max_db_connections
default_pool_size
min_pool_size
reserve_pool_size
ignore_startup_parameter = options
PGOPTIONS
server_reset_query
DISCARD ALL
max_prepared_statements
client_login_timeout
server_connect_timeout
server_lifetime
server_idle_timeout
client_idle_timeout
server_login_retry
query_timeout = 0
logfile
log_connections
log_disconnections
log_pooler_errors
log_stats
stats_period
pgbouncer
sudo -iu postgres psql -h /var/run/postgresql -p 6432 -d pgbouncer
RELOAD, PAUSE, SUSPEND, RESUME, SHUTDOWN
SHOW CONFIG|DATABASES|POOLS|CLIENTS|…
…|SERVERS|STATS|FDS|SOCKETS|…
…|ACTIVE_SOCKETS|LISTS|MEM
SELECT * FROM questions ;