Postgresql数据库

Postgresql的安装

安装后配置允许登陆的IP

{$}\PostgreSQL\9.6\data\pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             172.16.105.0/24         md5
host    all             all             172.16.20.0/24          md5
host    all             all             172.16.1.0/24           md5
host    all             all             10.194.10.0/24          md5
# IPv6 local connections:

psql的使用

linux命令行

登陆与用户赋权

[root@01 postgresql]# psql -h192.168.20.20 -p5432 -Upostgres
用户 postgres 的口令:    //输入密码
psql (9.2.15, 服务器 9.6.3)
警告:psql 版本9.2, 服务器版本9.6.
一些psql功能可能无法工作.
输入 "help" 来获取帮助信息.

postgres=# \du      //查看数据库用户信息
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}
 testw             |                                   | {}
 // 给用户赋权
postgres=# ALTER ROLE testw WITH CREATEDB superuser Createrole Replication login;
ALTER ROLE
postgres=# \du
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}
 testw             | 超级用户, 建立角色, 建立 DB, 复制 | {}
// 退出
postgres=# \q

创建数据库、用户、密码

[root@04 postgresql]# psql -h172.16.105.15 -p5432 -Upostgres
用户 postgres 的口令:
psql (9.2.15, 服务器 9.6.3)
警告:psql 版本9.2, 服务器版本9.6.
一些psql功能可能无法工作.
输入 "help" 来获取帮助信息.

postgres-# \du
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}

postgres=# DROP DATABASE IF EXISTS dandaogap;
ERROR:  database "dandaogap" is being accessed by other users
描述:  There are 2 other sessions using the database.
postgres=# DROP DATABASE IF EXISTS dandaogap;
DROP DATABASE
postgres=# \du
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}

postgres=# CREATE ROLE yinjianwen;
CREATE ROLE
postgres=# \du
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}
 yinjianwen        | 无法登录                          | {}

postgres=# ALTER ROLE yinjianwen WITH CREATEDB superuser Createrole Replication login;
ALTER ROLE
postgres=# \du
                             角色列表
     角色名称      |               属性                | 成员属于 
-------------------+-----------------------------------+----------
 pg_signal_backend | 无法登录                          | {}
 postgres          | 超级用户, 建立角色, 建立 DB, 复制 | {}
 yinjianwen        | 超级用户, 建立角色, 建立 DB, 复制 | {}

postgres=# \db
           表空间列表
    名称    |  拥有者  | 所在地 
------------+----------+--------
 pg_default | postgres | 
 pg_global  | postgres | 
(2 行记录)

postgres=# create database dandaogap with owner=yinjianwen template=template0 encoding='UTF8' connection limit = 100;
CREATE DATABASE
postgres=# alter user yinjianwen with password '123456';
ALTER ROLE
postgres=# 

产考文献:
https://www.2cto.com/database/201303/197403.html
https://www.cnblogs.com/alianbog/p/4541668.html

重要语法

自增字段主键


create table TEST(
    ID SERIAL PRIMARY KEY NOT NULL, 
    ACTION VARCHAR(8) NOT NULL,
    HASHVAL BIGINT NOT NULL,
    REALVAL VARCHAR(256), 
    OPTIME BIGINT NOT NULL);

SERIAL即是自增的意思,MAXVALUE=9223372036854775807

PRIMARY KEY是主键
插入数据:

insert into TEST(ACTION, HASHVAL, REALVAL, OPTIME) 
    values('1gh', 2, '3', 4);

你可能感兴趣的:(数据库拾遗)