概念
PostgreSQL是一种关系型数据库管理系统 (RDBMS)。因为自由宽松的许可证,任何人都可以以任何目的免费使用、修改和分发PostgreSQL, 不管是私用、商用还是学术研究目的。
下载
下载地址:http://www.postgres.cn/v2/download
下载后解压至你的目录,例如我解压到E:\server\pgsql
:
安装
配置环境变量
在PATH
中添加E:\server\pgsql\bin
初始化data目录
新建数据存放目录,这里在E:\server\pgsql
目录下新建了data目录
打开cmd,输入以下命令:
initdb -U postgres -W --locale=C -E UTF8 -D "E:\server\pgsql\data"
参数:
-U, –username=NAME 数据库超级用户名
-W, –pwprompt 对于新的超级用户提示输入口令
–locale=C 为新数据库设置默认语言环境
-E, –encoding=ENCODING 为新数据库设置默认编码
-D, –pgdata=DATADIR 当前数据库簇的位置
启动数据库
启动
pg_ctl -D "E:\server\pgsql\data" -l "E:\server\pgsql\data\logfile.log" start
停止
pg_ctl -D "E:\server\pgsql\data" -l "E:\server\pgsql\data\logfile.log" stop
重启
pg_ctl -D "E:\server\pgsql\data" -l "E:\server\pgsql\data\logfile.log" restart
参数:
-D:指定数据库存放目录启动
-l:指定本次日志存放位置
连接数据库
此时不要关闭启动的cmd,另外开一个cmd进入到bin目录,执行登录指令
psql -U postgres
此时登录成功。
可以用 \l
(小写的字母L)查看一下当前所有数据库,一般初始化后只有 postgres、template0、template1 三个库。
\q
退出。至此配置完成。
配置windows服务
先停止之前启动的Postgresql:
pg_ctl -D "E:\server\pgsql\data" -l "E:\server\pgsql\data\logfile.log" stop
用管理员模式cmd进入bin目录,输入
pg_ctl register -D "E:\server\pgsql\data"
# 可以通过-N 指定生成的服务名字(默认名字为:PostgreSQL),如
# pg_ctl register -N "pgsql" -D "E:\server\pgsql\data"
此时会默认生成一个叫 PostgreSQL 的windows服务,可以通过 win + r,services.msc查看到
创建数据库
直接在cmd下执行:
createdb -U postgres testdb
删除数据库
dropdb -U postgres testdb
访问数据库
使用psql工具连接到testdb数据库:
psql -U postgres testdb
注:PostgreSQL的交互式终端程序,它被称为psql, 它允许你交互地输入、编辑和执行SQL命令。
在psql中,你将看到下面的欢迎信息:
试验一些命令:
testdb=# SELECT version();
version
------------------------------------------------------------------------------------------
PostgreSQL 12.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
(1 row)
testdb=# SELECT current_date;
date
------------
2016-01-07
(1 row)
testdb=# SELECT 2 + 2;
?column?
----------
4
(1 row)
psql程序有一些不属于SQL命令的内部命令。它们以反斜线开头,“\”。 欢迎信息中列出了一些这种命令。比如,你可以用下面的命令获取各种PostgreSQL的SQL命令的帮助语法:
testdb=# \h
要退出psql,输入:
testdb=# \q
psql将会退出并且让你返回到命令行shell。
其他命令
查看数据:
\l
查看数据库中的表:
\dt
查看表结构:
\d 表名