PostgreSQL默认不能外部访问,navicat也就连接不了
需要更改配置文件
脚本中的配置文件目录也需要根据你的目录进行修改
#!/bin/bash
# 步骤1: 更新包列表并安装 PostgreSQL
echo "开始进行步骤1: 更新包列表并安装 PostgreSQL..."
sudo apt update
sudo apt install -y postgresql postgresql-contrib
echo "步骤1: 更新包列表并安装 PostgreSQL 完成。"
# 步骤2: 允许所有外部连接
echo "开始进行步骤2: 允许所有外部连接..."
PGDATA="/etc/postgresql/14/main"
echo "PostgreSQL 数据目录: $PGDATA"
PG_HBA_CONF="$PGDATA/pg_hba.conf"
POSTGRESQL_CONF="$PGDATA/postgresql.conf"
echo "pg_hba.conf 路径: $PG_HBA_CONF"
echo "postgresql.conf 路径: $POSTGRESQL_CONF"
echo "正在修改 pg_hba.conf 文件..."
sudo bash -c "echo 'host all all 0.0.0.0/0 trust' >> $PG_HBA_CONF"
echo "pg_hba.conf 文件修改完成。"
echo "正在修改 postgresql.conf 文件..."
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" $POSTGRESQL_CONF
echo "postgresql.conf 文件修改完成。"
echo "正在重启 PostgreSQL 服务以应用配置更改..."
sudo systemctl restart postgresql
echo "PostgreSQL 服务重启完成。"
# 步骤3: 设置 PostgreSQL 用户密码
echo "开始进行步骤3: 设置 PostgreSQL 用户密码..."
cd /tmp
sudo -u postgres psql -c "ALTER USER postgres PASSWORD '<这里填你想要设置的密码>';"
echo "步骤3: 设置 PostgreSQL 用户密码完成。"
echo "PostgreSQL 安装和配置完成。"