1、下载PostgreSQL绿色版,下载地址:https://www.enterprisedb.com/download-postgresql-binaries
2、解压文件到D:\\pgsql
3、管理员打开cmd,cd到bin目录
4、初始化
initdb.exe -D D:\pgsql\data -E UTF8 --locale=zh_CN.utf8
# -D 此选项指定应该存储数据库集群的目录。必传。也可以设置环境变量PGDATA来替换-D选项
# -E 选择模板数据库的编码。这也是您稍后创建的任何数据库的默认编码
# -U 选择数据库superuser的用户名。这默认为运行initdb的用户的名称
# --locale 为新数据库设置默认语言环境
5、注册服务并启动
# PostgreSQL是服务名,可以任意定制
pg_ctl register -N pgsql -D ../data
# 启动服务
net start pgsql
6、修改默认密码
# 进入数据库命令行
psql -U postgres
# 注意密码需要用单引号括起来,用户名不用
ALTER USER postgres WITH PASSWORD 'postgres';
# 提示以下内容表示修改成功
ALTER ROLE
# 退出命令行
输入 \q 回车
7、配置远程登录
7.1、修改./data/postgresql.conf
文件,修改listen_addresses
参数:
listen_addresses='*'
7.2、修改./data/pg_hba.conf
文件,可以清空该文件内容,然后配置如下内容:
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all ::1/128 trust
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5
7.3、重启服务
net stop pgsql
net start pgsql
8、设置防火墙规则
增加入站规则,选择TCP端口5432,添加规则
以下是可选项
卸载
# 注意服务名要与安装时候的名字对应,
net stop pgsql
pg_ctl unregister -N pgsql
创建默认角色
createuser -s -r postgres
创建用户和密码
CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';
添加超级用户权限
ALTER ROLE $DB_USER WITH superuser;
创建数据库
CREATE DATABASE "$DB_NAME" WITH OWNER = "$DB_USER" ENCODING = 'UTF8';
连接指定数据库
psql -U $DB_USER -d $DB_NAME
创建模式(需要连接到指定的数据库)
CREATE SCHEMA "$DB_SCHEMA" AUTHORIZATION "$DB_USER";
删除模式(会删除模式下所有表)
DROP SCHEMA $DB_SCHEMA CASCADE;
执行sql文件
# 执行文件之前可以先在cmd执行 chcp 65001 来切换到utf8编码,否则会显示乱码
psql -U $DB_USER -d $DB_NAME -c "set client_encoding=utf8;" -x -f backup.sql