pgsql 安装及平常操做

                                                        pgsqlmysql

下载安装包,网上搜索或者官网下载sql

官网地址:http://www.postgresql.org/ 数据库

安装过程:
vim

一、上传至Linux服务器对应目录,解压下载的安装包bash

tax -jxf postgresql-9.5.1.tar.bz2 服务器

cd postgresql-9.5.1.tar.bz2 tcp

./configure --prefix=/usr/local/pgsqlpost

编译提示:spa

configure: error: readline library not found日志

If you have readline already installed, see config.log for details on the

failure.  It is possible the compiler isn't looking in the proper directory.

Use --without-readline to disable readline support.

从新编译加上后缀:

./configure --prefix=/usr/local/pgsql --without-readline 便可

而后  make;make install

至此安装完成


二、启动数据库

>1  建立用户postgres

useradd  postgres

echo "postgres" |passwd --stdin "postgres"

2> 建立pgsql的数据目录

mkdir -p /data/pgsql/data

chown  postgres:postgres /data/pgsql/data

3> 添加环境变量,我这里添加的是全局的,若是是想在本身的我的用户里面,修改对应家目录的文件~./bashrc

vim /etc/profile

export  PATH=/usr/local/pgsql/bin:$PATH

export  PGDATD=/data/pgsql/data

而后source  /etc/profile 使其生效,若是能直接打出好比 post 能自动补全postgres,说明变量生效以及设置成功

4> 初始化数据库,产生一下基础文件

/usr/local/pgsql/bin/initdb –D /data/pgsql/data

开启一些功能,好比日志收集、归档以及归档大小

Vim /data/pgsql/data/postgresql.conf

logging_collector = on

log_rotation_age = 1d

log_rotation_size = 10MB

4>  启动服务

/usr/local/pgsql/postgres –I  -D /data/pgsql/data start &

这里加上-i 的意思是容许客户端进行tcp/ip的链接

至此pgsql 安装启动完毕,能够本地链接


三、经常使用操做

1>本地以及远程链接pgsql和赋权

createuser 是 SQL 命令 CREATE USER的封装。

命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名

参数说明:

[-a]:容许建立其余用户,至关于建立一个超级用户;

[-A]:不容许此用户建立其余用户;

[-d]:容许此用户建立数据库;

[-D]:不容许此用户建立数据库;

[-e]:将执行过程显示到Shell上;

[-P]:建立用户时,同时设置密码;

[-h 主机名]:为某个主机上的Postgres建立用户;

[-p port]:与-h参数一同使用,指定主机的端口。

举例:链接   psql -d template1 -U postgres    (用postgres用户链接template1链接数据库)

建立用户并赋权

createuser  -a -d  -e -P  ceshi  -h IP   (建立一个超级用户,容许从那个IP登陆,固然这个ip是否容许登陆,还得看数据目录下的两个配置文件是否放行  listenning address  ,默认是均可以链接)

删除用户:

dropuser  -i -e  username

2>  备份和恢复

pg_dump   pg_dumpall

pg_dump dbname –U username > psqldateb.sql

psql  dbname or tablename –U username < 备份数据

3>  其它平常命令

建立数据库

不用链接进去,直接createdb  dbname

若是此时有人在链接访问,没法建立,提示createdb: database creation failed: ERROR:  source database "template1" is being accessed by other users

Create table +表数据

create index idx_t_imdba on t_imdba(id);   建立索引,关于哪一个表的哪一个字段,索引名字叫啥 

日志设置:  修改postgresql.conf  文件中的log_directory 的变量值

\du  查看有哪些用户能够链接,以及他们的权限是什么

\c   dbname  切换数据库    至关于use  dbname

\l   查看当前有多少数据库    至关于 show databases

\d   tablename   查看表结构

\di  查看是否有索引

\dt  查看数据库有多少表    至关于show tables

\di  至关于show index  from table

\q or  crtl+d  退出

select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;   查看全部数据库的大小

select pg_size_pretty(pg_database_size('mydb')); 查看某个数据的大小,以kb的方式来显示

select pg_database_size('mydb');

四、其它

用客户端链接pgsql数据库操做方式和mysql,差很少,查询增删修改是同样的

相关文章
相关标签/搜索