1.启动pgslq
[postgresql@localhost ~]$ pg_ctl start -D /data/psql/data/ -l /data/psql/log/postgres.log
2.关闭pgslq
[postgresql@localhost ~]$ pg_ctl stop -D /data/psql/data/
3.查看pgslq是否启动(默认端口未改变时)
[postgresql@localhost ~]$ netstat -an | grep 5432
4.查看pgsql数据集簇中的数据库
[postgresql@localhost ~]$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+------------+----------+-------------+-------------+---------------------------
mydb | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
postgres | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgresql +
| | | | | postgresql=CTc/postgresql
template1 | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgresql +
| | | | | postgresql=CTc/postgresql
(4 rows)
5.pg库登入psql控制台
5.1:最简化登入,使用系统用户作为数据库用户登入(数据库中创建有该用户,否则不可使用此方法登入)
[postgresql@localhost ~]$ psql mydb
psql (10.0)
Type "help" for help.
mydb=#
5.2:指定用户名登入
[postgresql@localhost ~]$ psql -U postgresql mydb
5.3:命令行带密码登入
5.3.1:[postgresql@localhost data]$ psql “host=192.168.1.200 user=user3 password=123456 dbname=mydb”
5.3.2:[postgresql@localhost data]$ PGPASSWORD=123456 psql -h 192.168.1.200 -U user3 mydb
6.pg库设置指定系统用户可以免密登入指定pg用户的数据库
[postgresql@localhost data]$ vi pg_ident.conf # os用户与pg库用户映射关系
# MAPNAME SYSTEM-USERNAME PG-USERNAME
# local_ident_user postgresql postgresql # 当系统用户为postgresql时,以postgresql登入数据库
[postgresql@localhost data]$ psql -U postgresql mydb
[user1@localhost ~]$ psql -U postgresql mydb
psql: FATAL: Peer authentication failed for user "user1"
local_ident_user user1 postgresql # user1系统用户可以免密登入到postgresql的mydb中
[user1@localhost ~]$ psql -U postgresql mydb
[postgresql@localhost data]$ psql -U postgresql mydb
psql: FATAL: Peer authentication failed for user "postgresql"
7.psql简单操作
mydb=# ? # 获取命令帮助
mydb=# \l # 查看用户可见的数据库
mydb | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
postgres | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgresql +
| | | | | postgresql=CTc/postgresql
template1 | postgresql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgresql +
| | | | | postgresql=CTc/postgresql
mydb=# \dt # 列出当前库下的表
List of relations
Schema | Name | Type | Owner
--------+----------+-------+------------
public | userinfo | table | postgresql
mydb=# \du # 查看数据库用户
postgresql | Superuser, Create role, Create DB, Replication, Bypass RLS | {}