PostgreSQL - 安装和配置
在Ubuntu中安装PostgreSQL(16)后,登录和配置账号密码的步骤如下:
添加 PostgreSQL 官方仓库【可选】
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
导入 GPG 密钥【可选】
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
1. 安装PostgreSQL
如果尚未安装,先执行以下命令:
sudo apt update
sudo apt install -y postgresql postgresql-contrib postgresql-client postgresql-16-pgvector
- postgresql:数据库核心服务。
- postgresql-contrib:提供JSON操作、全文搜索等扩展功能。
- postgresql-client:客户端工具
- postgresql-16-pgvector:向量查询支持
以上可选择性安装
2. 确认PostgreSQL服务状态
确保服务已启动:
sudo systemctl status postgresql
若未启动,手动启动:
sudo systemctl start postgresql
如需自定义存储位置,如下操作
sudo systemctl stop postgresql
sudo mkdir -p /mnt/pgdata
sudo chown -R postgres:postgres /mnt/pgdata
sudo chmod 700 /mnt/pgdata
# 手动初始化数据(需切换到 postgres 用户)
sudo -u postgres /usr/lib/postgresql/16/bin/initdb -D /mnt/pgdata
3. 登录PostgreSQL
PostgreSQL默认会创建一个系统用户 postgres(与数据库超级用户同名),需切换到该用户登录:
sudo -i -u postgres
然后使用 psql 命令行工具连接数据库:
psql
此时会进入PostgreSQL交互界面,提示符为 postgres=#(超级用户模式)。
4. 修改默认用户密码
在 psql 界面中执行以下SQL命令修改密码(将 new_password 替换为你的密码):
ALTER USER postgres WITH PASSWORD 'new_password';
确认修改成功:
\du -- 查看用户列表及权限
查看用户名和密码,密码哈希算法通常是 MD5 或 SCRAM-SHA-256(取决于 PostgreSQL 版本和配置),如果密码前缀有加密方法标识,则说明修改密码成功
SELECT usename, passwd FROM pg_shadow;
5. 退出PostgreSQL
输入以下命令退出:
\q
然后退出 postgres 用户:
exit
6. 配置远程访问(可选)
如果需要从外部连接数据库,需修改以下配置文件:
修改 pg_hba.conf
编辑文件:
sudo nano /etc/postgresql/*/main/pg_hba.conf
在文件末尾添加或修改规则(示例允许所有IP通过密码连接):
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 scram-sha-256
修改 postgresql.conf
编辑文件:
sudo nano /etc/postgresql/*/main/postgresql.conf
找到 listen_addresses 并修改为:
listen_addresses = '*' # 允许监听所有IP
重启PostgreSQL生效
sudo systemctl restart postgresql
7. 使用新密码登录
命令行登录
psql -U postgres -h 127.0.0.1 -d postgres
输入密码后即可进入。
图形化工具连接
如使用 pgAdmin 或 DBeaver,填写以下信息:
- Host:
localhost(或服务器IP) - Port:
5432(默认) - Username:
postgres - Password: 你设置的密码
8. 创建新用户和数据库(可选)
如果需要创建独立用户和数据库:
-- 登录postgres用户
sudo -u postgres psql
-- 创建新用户并设置密码
CREATE USER myuser WITH PASSWORD 'mypassword';
-- 创建数据库并授权
CREATE DATABASE mydb OWNER myuser;
-- 授予权限(可选)
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
安装扩展
安装向量扩展
CREATE EXTENSION IF NOT EXISTS vector;
查询扩展信息
SELECT extname AS "Name",extversion AS "Version",extowner::regrole AS "Owner",extnamespace::regnamespace AS "Schema" FROM pg_extension;
常见问题
-
密码认证失败
- 检查
pg_hba.conf是否允许密码认证(md5或scram-sha-256)。 - 确保修改后重启了服务。
- 检查
-
无法远程连接
- 确认防火墙(
ufw)放行了5432端口:sudo ufw allow 5432/tcp
- 确认防火墙(
-
忘记密码
- 重新切换到
postgres用户,通过ALTER USER修改密码。
- 重新切换到
通过以上步骤,你可以成功安装、登录并配置PostgreSQL账号密码。根据实际需求调整用户权限和访问控制。
本文来自博客园,作者:蓝迷梦,转载请注明原文链接:https://www.cnblogs.com/hewei-blogs/articles/19082688

浙公网安备 33010602011771号