PostgreSQL简单上手

本文记录了本人平时将PostgreSQL对接到项目的流程,创建一个登录用户并为其新建一个数据库,最后获得一个可使用的连接字符串。本文将包含以下内容:

  • 安装PostgreSQL,添加环境变量
  • 创建登录用户、新建数据库

1 安装

1.1 windows下安装

  1. postgresql官网给出的下载地址中下载相应版本,打开后正常安装即可,建议安装时,除了安装位置,其他都不要修改。 其中,需要在安装时设定超级用户的密码,端口号按默认的就好,使用数据库管理软件连接时需要填写端口号,默认的话忘了直接上网搜一下就好了。下图是开始安装前的相关配置。
    安装信息
  2. 安装完成后,会有一个管理软件,还有一个shell控制台。
    安装结果
  3. 为了直接在cmd中使用postgresql的控制台,需要将该shell的目录添加到系统变量。在我的电脑中,postgresql的控制台在D:\Program Files\PostgreSQL\14\bin\目录下。打开系统的环境变量,找到系统变量下的Path变量,选中后点击”编辑“按钮,将postgresql控制台所在的目录添加到Path变量中。如下图所示(用户变量下可加可不加)。
    系统环境变量

Path变量
4. 打开cmd,输入psql -U postgres回车,然后输入在安装时设定的超级用户密码即可。(这里给大家演示了两个错误,最后划线的才是正确的。第一个错误是需要用-U指定username,否则默认为当前系统登录的用户,在linux中通常是先su到postgres用户,然后执行psql命令就没有问题;第二个是提醒大家postgreSQL的超级用户是postgres)
cmd打开postgresql控制台

1.2 linux下安装

安装postgresql13

安装存储库RPM

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

安装postgresql13

sudo yum install -y postgresql13-server

初始化数据库

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

使用systemctl管理postgresql服务,设为自启动并启动postgresql服务

sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

上面的命令没有出现错误提示就表示服务启动成功,也可以尝试进入postgresql命令行来验证服务启动成功。先切换到postgres用户

# root用户
su postgres

进入postgresql命令行

# postgres用户
cd ~
psql

没有出现错误提示,显示postgres=#即说明postgresql服务启动成功
postgresql服务启动成功

设置远程连接

(选做,存在安全问题)如果上面切到了postgres用户,请切回root用户

# 之后使用systemtml管理服务需要root权限
su root

修改配置文件postgresql.conf

vi /var/lib/pgsql/13/data/postgresql.conf

如下图所示,新增listen_addresses = ‘*’
新增

修改配置文件pg_hba.conf

vi /var/lib/pgsql/13/data/pg_hba.conf

结尾新增访问规则

host    all             all             0.0.0.0/0               trust

重启postgresql-13服务。

systemctl restart postgresql-13

如果没有错误提示说明重启成功;如果出现错误提示,请检查修改的配置文件内容是否有拼写错误,可以通过在修改一个文件后就重启一次服务来发现问题所在。

2 创建用户及新建数据库

使用psql进入postgresql的控制台,接下来的命令是跨平台通用的。

  1. 创建一个数据库用户bachelor,指定密码为bachelor123
CREATE USER bachelor WITH PASSWORD 'bachelor123';
  1. 创建一个数据库smartaccess并指定bachelor为所有者
CREATE DATABASE smartaccess OWNER bachelor;
  1. 授予bachelorsmartaccess数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE smartaccess to bachelor;
  1. 使用du查看所有用户,使用\l查看所有数据库
    命令运行结果

3 连接字符串

现在可以得到一个使用bachelor用户登录smartaccess数据库的连接字符串:

server=127.0.0.1;port=5432;uid=bachelor;pwd=bachelor123;database=smartaccess;

我在项目中使用ORM迁移命令初始化数据库,进入数据库管理软件中可以看到,已经创建的相应的数据表。
验证结果

参考

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值