postgresql

ubuntu

安装

sudo apt-get install postgresql

安装成功后, 默认会创建:

  • 创建名为postgres的linux用户
  • 创建名为postgres 不带月密码的默认数据库账号作为数据库管理员
  • 创建名为postgres的表

有关postgresql的默认信息如下:

1
2
3
4
5
config /etc/postgresql/9.5/main 
data /var/lib/postgresql/9.5/main
locale en_US.UTF-8 --> 我们是zh_CN.UTF-8
socket /var/run/postgresql
port 5432

psql命令

  • 进入postgres的身份访问PostgreSQL的客户端psql(此时系统用户名,数据库用户名,数据名均为postgres)

sudo -u postgres psql

  • 修改密码

\password

  • 查看sql命令的解释

\h delete

  • 查看psql命令列表

\?

  • 查看所有数据库

\l

  • 连接其他数据库

\c [database_name]

  • 查看当前数据库的所有表

\d

  • 查看当前数据库指定的表

\d [table_name]

  • 查看所有用户

\du

  • 查看当前数据库和连接的信息

\conninfo

默认管理员postgres管理

  • 修改密码

\password
alter user postgres with password ‘xxx’;

  • 创建新用户

create user [username] with password ‘password’;

  • 对用户创建数据库

create database [database_name] owner [username];

  • 授权(新创建的数据库没有任何数据库操作权限)

grant all privileges on database [database_name] to [username];

  • 在shell中创建普通用户/超级用户

sudo -u postgres createuser [username]
sudo -u postgres createuser –superuser [username]

  • 在shell中创建数据库并指定所有者

sudo -u postgres createdb -O [username][database_name]

  • 连接数据库

psql -U [username] -d [database_name] -h 127.0.0.1 -p 5432

基本数据库操作命令

大部分操作和mysql相同, 说一些不同的点:

  • 自增字段直接使用serial(mysql中是integer auto_increment)
  • 大小写相关
  1. PostgreSQL中对表名,字段名均区分大小写,但是对SQL大小写不敏感。在不加引号的情况下, 创建时无论使用大/小写, 表中都会统一转换为小写, 查询时语句中字段名统一改称小写 , 在加双引号的情况下, 查询表名也必须是双引号表名
  2. 查询时, 会发生双引号被抹去或大写转小写中的一个, 优先去双引号
-------------end-------------
0%