阿里云Centos安装postgresql9.5数据库和postgresql使用方法介绍

PostgreSQL数据库在Centos上的安装并不难,只需要简单的几条命令即可。本文将介绍安装方法以及常见使用命令。

1.postgresql安装

在centos上安装postgresql可以使用rpm安装包或者yum命令安装。如果使用rpm方式安装我们需要先
到PG官网http://yum.postgresql.org/的仓库中找到对应的包,下面是安装命令:

$ wget https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-2.noarch.rpm 
rpm -ivh ./pgdg-centos95-9.5-2.noarch.rpm

$ yum install postgresql95 postgresql95-devel postgresql95-libs postgresql95-contrib postgresql95-server

2.数据库初始化

初始化数据库的第一个命令(仅需执行一次)是:

$ service postgresql-9.5 initdb

3.设置开机自动启动

$ chkconfig postgresql-9.5 on

4.启动postgresql服务

$ service postgresql-9.5 start

相关命令:
关闭:service postgresql-9.5 stop
重启:service postgresql-9.5 restart
重新加载:service postgresql-9.5 reload

5.登录并测试

$ su postgres  //切换到postgres用户进入bash
$ psql            //默认连接localhost

输出内容如下:

psql (9.5.4)
Type "help" for help.

postgres=#
                                                       List of databases
        Name         |        Owner        | Encoding |   Collate   |    Ctype    |   
          Access privileges             
---------------------+---------------------+----------+-------------+-------------+----
-----------------------------------------
 postgres            | postgres            | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
  • \l: 查看已有数据库
  • \du:查看所有用户或角色

6.创建数据库和数据库用户

CREATE ROLE testuser LOGIN NOSUPERUSER INHERIT CREATEDB NOCREATEROLE NOREPLICATION PASSWORD '123456';
CREATE DATABASE testdb WITH ENCODING='UTF8' OWNER=testuser;
GRANT ALL PRIVILEGES ON DATABASE testdb to testuser;

7.设置SSH tunnel登录

我们需要修改pg的配置文件/var/lib/pgsql/9.5/data/pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
#host    all             all             127.0.0.1/32            ident  //这行注释掉
# 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
host     all             all            127.0.0.1/24              password //添加这行

8.为postgres用户设置密码

默认linux的postgres账户是没有密码的,为了安全可以为其设置密码,如下:

$ passwd postgres

9.相关命令介绍

连接数据库:psql -h localhost -p port -U your-db-username database-name
创建数据库:createdb -h 127.0.0.1 -p 5432 -U postgres testdb
连接数据库:psql -h 127.0.0.1 -p 5432 -U postgres testdb
删除数据库:dropdb -h 127.0.0.1 -p 5432 -U postgres testdb

说明:-h表示主机(Host),-p表示端口(Port),-U表示用户(User)

创建数据表:create table tbl(a int);
删除数据表:drop table tbl;
插入数据:insert into tbl(a) values(1);
查看数据:select * from tbl;
备份数据库:pg_dump -U postgres testdb > d:/testdb.dmp
恢复数据库:psql -U postgres testdb < d:/testdb.dmp

说明:这种方法,实际上是SQL的转储,可加参数(-t)指定多个表。

参考文档:https://wiki.postgresql.org/wiki/YUM_Installation

the end

热门文章