服务状态管理
sudo systemctl status postgresqlsudo systemctl start/restart postgresql配置远程连接
postgresql.conf:设置 listen_addresses = '*' 以允许所有IP连接。pg_hba.conf:添加 host all all 0.0.0.0/0 md5 允许远程认证(支持密码加密)。sudo systemctl restart postgresql。防火墙设置
sudo ufw allow 5432/tcp。命令行工具(psql)
psql -h <主机> -p 5432 -U <用户名> -d <数据库名>。\q。图形化工具(如pgAdmin)
编程语言连接(以Python为例)
pip install psycopg2。import psycopg2 conn = psycopg2.connect( host="localhost", port=5432, user="username", password="password", dbname="dbname" ) cur = conn.cursor() cur.execute("SELECT * FROM table_name") print(cur.fetchall()) conn.close() sudo apt install pgbouncer。/etc/pgbouncer/pgbouncer.ini,设置监听端口、最大连接数等参数,如:[pgbouncer] listen_port = 6432 max_client_conn = 100 pool_mode = transaction ```。 sudo systemctl restart pgbouncer。pg_stat_activity 视图:SELECT * FROM pg_stat_activity;。pgbouncer 管理界面查看连接池状态。VACUUM 和 ANALYZE 清理数据并优化查询计划。/var/log/postgresql/postgresql-{version}-main.log,排查异常。pg_hba.conf 中指定允许的IP段,避免开放所有IP。postgresql.conf 中启用SSL并配置证书。