Skip to content

PostgreSQL mac 环境下初识篇

--> -->

PostgreSQL 是以加州大学伯克利分校计算机系开发的 POSTGRES 版本 4.2 为基础的对象关系型数据库管理系统(ORDBMS),简称pgsql,是一个自由的对象-关系数据库服务器,由社区驱动的的对象-关系型 数据库系统,它支持大部分 SQL 标准并且提供了许多其他现代特性,它在灵活的 BSD-风格许可证下发行.越来越多的人用它来取代mysql .已成为开发首选的开源关系型数据库.

在mac 环境下,可以使用 brew 来安装, 也可以直接下载app 安装.

官网下载地址:http://www.postgresql.org/download/ 选择 mac OS X 版本下载,安装即可.安装成功后,你会看到如下应用

--> -->

pgAdmin 是一个可视化数据库服务器管理工具.

SQL Shell (psql ) 控制台数据库管理入口.

在安装的过程中,会自动为系统生成一个账号PostgreSQL ,密码随机.

--> -->

所以这里你要重设一个密码.

或者控制台下:

sudo passwd -d postgres

password -d 为删除指定用户密码

然后设置新密码:

sudo -u postgres passwd

然后你就可以用 postgres 用户在服务器上通过 pgAdmin 或者 psql 来操作数据库了.

先来看下 psql 的简单操作:

  1. 点击 SQL Shell (psql) 启动控制台应用.
Server [localhost]:    //第一步,默认本地,直接回车即可,远程数据库,请输入远程服务器IP
Database [postgres]:   //第二步,执行数据库, postgresql 安装时已经默认安装 postgres 数据库,直接回车进入此库
Port [5432]:           //第三步,默认绑定 5432 端口,如果你有修改请这里指定,否则默认连接此端口(注意防火墙放行端口)
Username [postgres]:   //第四步,默认使用 postgres 用户登录数据库,没有指定用户的话,直接回车
psql (9.4.1)
Type "help" for help.

postgres=#     //看到这一步,已经成功进入 postgres 数据库.

或者你可以用下面一条命令来登录PostgreSQL

psql -U postgres -d postgres -h 127.0.0.1 -p 5432

//参数说明: -U 指定用户 -d 指定数据库 -h 数据库服务器ip -p 端口

如果你的系统登录用户名和PostgreSQL数据库操作用户名相同的话,可以省略 -U 参数.

如果你的Mac 命令控制台不支持 psql ,那么需要你手动添加到全局变量里:

zhangzhi@moke:~$ locate psql | grep /bin
/Library/PostgreSQL/9.4/bin/psql

编辑.bash_profile文件或.bashrc文件,添加命令别名

alias psql=/Library/PostgreSQL/9.4/bin/psql

然后让 .bash_profile 生效即可

source .bash_profile

psql 控制台简单的操作命令:

\h select。
\? 查看psql命令列表。
\l 列出所有数据库。
\c [database_name]:连接其他数据库。
\d 列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du 列出所有用户。
\e 打开文本编辑器。
\conninfo 列出当前数据库和连接的信息。
\q  退出
\password  设置命令

# 创建新表 
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据 
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录 
SELECT * FROM user_tbl;
# 更新数据 
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录 
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位 
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构 
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位 
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位 
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名 
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格 
DROP TABLE IF EXISTS backup_tbl;

pgAdmin 简介:

--> -->

数据库服务器: PostgreSQL9.4

数据库: postgres

数据表: 架构/public/数据表/test

表空间: 操作系统目录,存放数据库的物理文件

目录: 系统虚拟视图,可以记录系统状态,维护表信息,存储信息等,对应oracle 系统视图

模式: 管理表,函数等的名字空间,在查询的时候可以指定名字空间,默认default

用户: 登录名及密码

角色: 对用户的一组授权,ROLL/USER是完全相同的两个对象,唯一的区别是在创建的时候:USER默认具有LOGIN权限,而ROLL没有

FTS : Full Text Search ,和全文搜索相关的

还在学习中,其他的后续逐渐补充!

end