在Linux系统中部署PostgreSQL(简称PS)时,可以使用以下常用命令来安装、配置和管理PostgreSQL服务。
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql13-server postgresql13-contrib
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl start postgresql-13
sudo systemctl enable postgresql-13
编辑配置文件 /var/lib/pgsql/13/data/postgresql.conf
和 /var/lib/pgsql/13/data/pg_hba.conf
来调整设置。
编辑 postgresql.conf
:
listen_addresses = '*' # 监听所有地址
port = 5432 # 默认端口
编辑 pg_hba.conf
来允许远程连接:
host all all 0.0.0.0/0 md5
切换到 postgres
用户并创建数据库和用户:
sudo -u postgres psql
在 psql
提示符下:
CREATE DATABASE mydatabase;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
pg_dump -U myuser -h localhost mydatabase > mydatabase_backup.sql
psql -U myuser -h localhost mydatabase < mydatabase_backup.sql
使用 pg_stat_activity
视图来监控活动连接和查询:
SELECT * FROM pg_stat_activity;
配置日志记录在 postgresql.conf
中:
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
原因:可能是配置文件错误或权限问题。 解决方法:
sudo systemctl status postgresql-13
sudo journalctl -xe
检查日志文件 /var/log/postgresql/
下的详细错误信息。
原因:防火墙设置或 pg_hba.conf
配置不正确。
解决方法:
确保防火墙允许PostgreSQL端口(默认5432)的流量,并检查 pg_hba.conf
中的远程连接设置。
通过以上步骤和命令,你可以有效地在Linux系统上部署和管理PostgreSQL数据库。
没有搜到相关的文章