ローカルのPostgreSQLにUnix socketで接続する
PythonでローカルのPostgreSQLに接続するならUnix socket経由の方が速いだろうと設定したときの覚書。
環境: CentOS Stream 8, PostgreSQL 14.2
参考
- PostgreSQL: Documentation: 14: 20.3. Connections and Authentication
- PostgreSQL: Documentation: 14: 34.1. Database Connection Control Functions
# su - postgres
$ cd 14/data/
$ less postgresql.conf
unix_socket_directories = '/var/run/postgresql'
PostgreSQL再起動
# systemctl restart postgresql-14
ファイルがあるか確認
# ls -a /var/run/postgresql/
postgresでpythonプログラムを実行する
# su - postgres
psycopg.connectはhost名にunix_socket_directoriesを設定。
psycopg.connect("host=/var/run/postgresql dbname=recruit")
計測してみたら数秒速くなった程度なのでTCP/IPで運用することにした。
でもWindowsからリモートでDB接続するよりローカルの方が圧倒的に速い。