Module M2
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.
initdb
block_size
wal_block_size
segment_size
wal_segment_size
--wal-segsize
postgresql.conf
postgresql.auto.conf
pg_hba.conf
pg_ident.conf
Fichier principal de configuration :
/var/lib/…
/etc/postgresql/<version>/<nom>/postgresql.conf
clé = valeur
include
include_if_exists
ALTER SYSTEM SET …
pg_ctl
ALTER DATABASE | ROLE … SET paramètre = …
SET
SET LOCAL
SHOW
pg_settings
pg_file_settings
hba_file
ident_file
CREATE TABLESPACE chaud LOCATION '/SSD/tbl/chaud'; CREATE DATABASE nom TABLESPACE 'chaud'; ALTER DATABASE nom SET default_tablespace TO 'chaud'; GRANT CREATE ON TABLESPACE chaud TO un_utilisateur ; CREATE TABLE une_table (…) TABLESPACE chaud ; ALTER TABLE une_table SET TABLESPACE chaud ; -- verrou ! ALTER INDEX une_table_i_idx SET TABLESPACE chaud ; -- pas automatique
default_tablespace
temp_tablespaces
GRANT CREATE ON TABLESPACE ssd_tri TO dupont ;
seq_page_cost
random_page_cost
effective_io_concurrency
maintenance_io_concurrency
ALTER TABLESPACE chaud SET ( random_page_cost = 1 ); ALTER TABLESPACE chaud SET ( effective_io_concurrency = 500, maintenance_io_concurrency = 500 ) ;
L’accès à la base se fait par un protocole réseau clairement défini :
Les demandes de connexion sont gérées par le postmaster.
Paramètres : port, listen_adresses, unix_socket_directories, unix_socket_group et unix_socket_permissions
port
listen_adresses
unix_socket_directories
unix_socket_group
unix_socket_permissions
tcp_keepalives_idle
tcp_keepalives_interval
tcp_keepalives_count
client_connection_check_interval
ssl
ssl_ciphers
ssl_renegotiation_limit
track_activities
track_activity_query_size
track_counts
track_io_timing
track_functions
update_process_title
stats_temp_directory
INSERT
SELECT
Supervision / métrologie
Diagnostiquer
Vues système :
pg_stat_user_*
pg_statio_user_*
pg_stat_activity
pg_stat_bgwriter
pg_locks
pg_stats
default_statistics_target
ANALYZE table
ALTER TABLE matable ALTER COLUMN macolonne SET statistics 300 ;
CREATE STATISTICS nom ON champ1, champ2… FROM nom_table ;
SQL est un langage déclaratif :
cpu_tuple_cost
cpu_index_tuple_cost
cpu_operator_cost
parallel_setup_cost
parallel_tuple_cost
effective_cache_size
constraint_exclusion
enable_partition_pruning
from_collapse_limit
join_collapse_limit
plan_cache_mode
cursor_tuple_fraction
synchronize_seqscans
geqo
geqo_threshold
N’hésitez pas, c’est le moment !
https://dali.bo/m2_quiz