跳到主要内容

postgresql 基础

postgresql 安装

linux

linux 安装
sudo apt install postgresql postgresql-contrib
版本号
psql --version
设置自启动
nano ~/.bashrc
# 输入一下命令
echo 1216 | sudo -S service postgresql start

操作数据库

数据库服务

数据库服务
# 数据库状态
sudo service postgresql status
# 运行数据库
sudo service postgresql start
# 停止数据库
sudo service postgresql stop

数据库角色

默认角色
  • postgres 自动创建;
数据库角色
# 切换角色
sudo -i -u postgres
# 退出角色
exit
# 创建角色
createuser --interactive

数据库

数据库
# 创建数据库
createdb sammy

数据库终端

数据库终端
# 连接数据库并进入终端
psql
# 连接指定数据库并进入终端
psql -d postgres

# 查看连接信息
\conninfo

# 退出数据库终端
\q

疑难杂症

权限问题

错误
Starting PostgreSQL 13 database server: mainError: Config owner (kxh:1000) and data owner (postgres:104) do not match, and config owner is not root ... failed! failed!
原因
  • config 所在文件夹权限出错;
  • 该文件夹权限应该为 postgres;
解决方法
sudo chown -R postgres /etc/postgresql

wsl

远程链接

wsl ip 地址
# 获取 wsl ip 地址
# 第一行中的 inet 字段
ifconfig
修改配置文件
// /etc/postgresql/14/main/postgresql.conf
// 开启远程访问
listen_addresses = '*'

// /etc/postgresql/14/main/pg_hba.conf
// 添加以下文本
host all all 0.0.0.0/0 md5
host all all ::/0 md5
重启数据库
sudo service postgresql restart