Postgresql :创建新实例过程详解

本文详细介绍了如何访问和创建PostgreSQL数据库,包括本地和远程数据库的访问,以及使用`createdb`命令创建数据库。文章还深入解析了创建数据库的过程,解释了数据库目录结构、权限设置,并展示了相关系统字典表的查询方法,帮助理解数据库内部工作原理。
摘要由CSDN通过智能技术生成

一、访问数据库

1、访问本地postgres数据库:

# su – postgres #切换至postgres用户

   # psql  #直接访问,默认进入本地postgres数据库

2、访问指定的数据库:

# su – postgres #切换至postgres用户

   # psql huangxifeng #直接访问本地huangxifeng数据库

3、访问远程数据库

# psql -h 172.16.254.21 -p 5432 -U postgres –d huangxifeng

4、访问数据库过程详解:

以第一种方式为例,当以postgres用户访问数据库时,postgresql产生一个服务进程来接受客户端传过来的请求,并代理客户端执行数据库的各种操作。

# psql  #直接访问,默认进入本地postgres数据库

查看数据库字典表pg_stat_activity可以知道有什么用户在访问,访 问什么库以及访问的进程

postgres=# select datid,datname,procpid,usename, xact_start from pg_stat_activity;

 datid |     datname      | procpid | usename  |          xact_start          

-------+------------------+---------+----------+-------------------------------

 11511 | postgres         |   14190 | postgres | 2010-11-22 17:26:20.022066-05

 11511 | postgres         |   14145 | postgres |

从查询结果可以看到,数据库名为postgres,有一个进程ID14190的在访问,开始活动的时间为2010-11-22 17:26:20.022066-05

进程ID14190正是服务器产生的进程,代理客户端来执行数据库的各种操作。在linux中通过ps可以看到此进程。

# ps aux|grep postgres|grep 14190

postgres 14190  0.0  1.1 102232  4348 ?        Ss   17:21   0:00 postgres: postgres postgres [local] idle 

因此,当某一数据库进程异常操作数据库时,要进行中断该进程可通过服务器进程进行

#kill -9 14190;

执行该操作时要谨慎小心,一旦杀掉进程,该客户端已经发送但未执行的SQL和正在执行的SQL都将会失败而丢失。

安全的操作可以通过pg_cancel_backend取消一个后端的当前查询:

postgres=# select pg_cancel_backend(14190);

pg_cancel_backend

-------------------

 t

(1 row)

二、创建数据库

Psql创建一个数据库的方式主要是两 种:

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值