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,差很少,查詢增刪修改是同樣的

相關文章
相關標籤/搜索