PostgreSQL 是客户端/服务器关系数据库管理系统 (RDMS)。PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL 也有自己的查询语言,称为 pgsql。 此外,PostgreSQL 还支持过程语言,如 Ruby on Rails。
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。
下载地址
(installer)下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
(binaries)下载地址:https://www.enterprisedb.com/download-postgresql-binaries
安装过程
本教程使用的是pgsql 15.8-1。
安装包postgresql-15.8-1-windows-x64.exe。
安装的时候,按照提示,默认下一步下一步即可完成。
初始化数据库
到安装目录下,找到目录D:\devtool\PostgreSQL15\bin,在该目录下打开cmd窗口
第一步:initdb
initdb.exe -D "D:\devtool\PostgreSQL15\data"
等待一段时间,即可完成初始化
第二步:注册服务pgsql 15.8-1
pg_ctl.exe register -N "pgsql 15.8-1" -D "D:\devtool\PostgreSQL15\data"
服务名可自定义,此处服务名为pgsql 15.8-1
安装完,可以去服务里面查看,并启动该服务
第三步:创建默认角色postgres
createuser.exe -s -r postgres
第四步:设置postgres的密码
验证角色是否创建成功
开始菜单找到
或者安装目录下找到:D:\devtool\PostgreSQL15\scripts\runpsql.bat
双击:runpsql.bat
依次回车执行。
输入\password设置postgres的密码,重复输入一次即可完成设置
第五步:设置允许远程连接
注意:该项配置操作可选,仅用于本地环境测试,生产环境慎用!!!
可以参考配置PostgreSQL允许远程连接的方法(PostgreSQL新手入坑)_postgresql 远程连接-CSDN博客
修改pg_hba.conf配置
host all all 0.0.0.0/0 trust
修改postgresql.conf配置
listen_addresses = '*'
连接postgresql
navicat连接postgresql
(建议)pgAdmin连接postgresql
创建表:USERS
未指定模式,则默认创建在public模式下面
-- 创建表
CREATE TABLE USERS(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
-- 给表添加备注
comment on table USERS is '用户信息';
-- 给字段添加备注
comment on column USERS.ID is '主键id';
comment on column USERS.NAME is '名称';
comment on column USERS.AGE is '年龄';
comment on column USERS.ADDRESS is '家庭地址';
comment on column USERS.SALARY is '工资';
指定模式创建表(提前创建好一个模式:postgres)
-- 创建表
CREATE TABLE postgres.USERS(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
-- 给表添加备注
comment on table postgres.USERS is '用户信息';
-- 给字段添加备注
comment on column postgres.USERS.ID is '主键id';
comment on column postgres.USERS.NAME is '名称';
comment on column postgres.USERS.AGE is '年龄';
comment on column postgres.USERS.ADDRESS is '家庭地址';
comment on column postgres.USERS.SALARY is '工资';
测试
select * from users;
select * from public.users;
select * from postgres.users;