请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

欣东微医疗技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1410|回复: 3

postgresql安装和启动关闭

[复制链接]

246

主题

289

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36751
发表于 2017-1-16 11:02:37 | 显示全部楼层 |阅读模式
1 创建用户postgres
useradd postgres
上传后解压文件
tar jxvf postgresql-9.6.1.tar.bz2
2 编译安装
  cd postgresql-9.6.1
  ./configure --with-libxml --with-libxslt
  make
  su
  make install
  mkdir /usr/local/pgsql/data
  chown postgres /usr/local/pgsql/data
3 启动和测试
  su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  启动数据库
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
  创建测试数据库
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
最简的启动方式是(需要设置环境变量):
    [postgres@localhost ~]$ pg_ctl start  
如果要在操作系统启动时就启动PG,可以在/etc/rc.d/rc.local 文件中加以下语句:

    /opt/postgresql/bin/pg_ctl start -l /opt/postgresql/log/pg_server.log -D /opt/postgresql/data  
如果要在操作系统启动时就启动PG,可以在/etc/rc.d/rc.local 文件中加以下语句:
    /opt/postgresql/bin/pg_ctl start -l /opt/postgresql/log/pg_server.log -D /opt/postgresql/data  
4 设置环境变量
su - postgres
vi .bash_profile
  PGDATA=/usr/local/pgsql/data
  export PGDATA
5 关闭数据库
[postgres@localhost ~]$ pg_ctl stop  
与Oracle相同,在关闭时也可采用不同的模式,简介如下:

    SIGTERM   
    不再允许新的连接,但是允许所有活跃的会话正常完成他们的工作,只有在所有会话都结束任务后才关闭。这是智能关闭。  
      
    SIGINT   
    不再允许新的连接,向所有活跃服务器发送 SIGTERM(让它们立刻退出),然后等待所有子进程退出并关闭数据库。这是快速关闭。  
      
    SIGQUIT   
    令 postgres 向所有子进程发送 SIGQUIT 并且立即退出(所有子进程也会立即退出),而不会妥善地关闭数据库系统。这是立即关闭。这样做会导致下次启动时的恢复(通过重放 WAL 日志)。我们推荐只在紧急的时候使用这个方法。  
      
    SIGKILL   
    此选项尽量不要使用,这样会阻止服务器清理共享内存和信号灯资源,那样的话你只能在启动服务器之前自己手工做这件事。另外,SIGKILL 直接把 postgres 杀掉,而不会等它把信号中继给它的子进程,因此我们还需要手工杀掉每个独立子进程。  

使用方法举例:

    [postgres@localhost ~]$ pg_ctl stop -o SIGTERM  

最快速关闭方法:kill postgres 进程

    [postgres@localhost ~]$ kill -INT `head -1 /opt/postgresql/data/postmaster.pid`  
  


回复

使用道具 举报

644

主题

780

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
38446
QQ
发表于 2017-5-27 10:30:25 | 显示全部楼层
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
回复 支持 反对

使用道具 举报

0

主题

1

帖子

882

积分

禁止访问

积分
882
发表于 2017-10-16 16:12:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

644

主题

780

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
38446
QQ
发表于 2018-3-12 13:13:02 | 显示全部楼层
修改密码
PostgreSQL默认的超级管理员密码是postgres
连接方法:psql -U postgres(注意,是大写的-U)
默认密码为空
修改密码的方法是,用psql登入管理:psql -U postgres
然后用这样的命令来修改密码:alter user postgres with password 'new password';

配置PostgreSQL-ConfigureTCP/IP,远程连接
默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf可以允许连接。
找到下面的行:
[...]
#listen_addresses = 'localhost’
[...]
#port = 5432
[...]
把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示:
listen_addresses = '*'
port = 5432
cd  /var/lib/pgsql/data
修改pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                    trust
# IPv4 local connections:
host    all             all             0.0.0.0/0              md5
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident
#host    replication     postgres        ::1/128                 ident
修改完成后重启
systemctl restart postgresql.service

注意修改 /etc/hosts,把
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
这行屏蔽掉,否则本地连接不成功

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|eastwill.org ( 辽ICP备17018600号

GMT+8, 2018-8-19 15:47 , Processed in 0.091473 second(s), 25 queries .

Powered by Eastwill! X3.2

© 2001-2013 Eastwill Inc.

快速回复 返回顶部 返回列表