yum -y install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpmsql
yum -y install postgresql95數據庫
yum -y install postgresql95-servervim
/usr/pgsql-9.5/bin/postgresql95-setup initdbcentos
systemctl enable postgresql-9.5bash
systemctl start postgresql-9.5dom
postgresql默認端口爲5432socket
passwd postgres #設置postgres用戶密碼ide
監放任何網段post
# vim /var/lib/pgsql/9.5/data/postgresql.confui
59 #listen_addresses = 'localhost' # what IP address(es) to listen on;
60 listen_addresses = '*' #監放任何網段地址
61 # comma-separated list of addresses;
62 # defaults to 'localhost'; use '*' for all
63 # (change requires restart)
64 #port = 5432 # (change requires restart)
65 max_connections = 100 # (change requires restart)
66 #superuser_reserved_connections = 3 # (change requires restart)
容許遠程主機登陸
vim /var/lib/pgsql/9.5/data/pg_hba.conf
77 # TYPE DATABASE USER ADDRESS METHOD
78
79 host all all 0.0.0.0/0 md5 #此行爲添加的
80 # "local" is for Unix domain socket connections only
81 local all all peer
82 # IPv4 local connections:
83 host all all 127.0.0.1/32 ident
84 # IPv6 local connections:
85 host all all ::1/128 ident
86 # Allow replication connections from localhost, by a user with the
從新加載postgresql
systemctl reload postgresql-9.5
默認數據存放目錄 /var/lib/pgsql/9.5/data/
先建立目錄
mkdir /home/yunwei/pgsql/data -p
改變屬主
chown -R postgres.postgres /home/yunwei/pgsql/data
指定目錄初始化數據
/usr/pgsql-9.5/bin/initdb -D /home/yunwei/pgsql/data/
修改systemctl啓動文件
vim /usr/lib/systemd/system/postgresql-9.5.service
27 # Note: avoid inserting whitespace in these Environment= lines, or you may
28 # break postgresql-setup.
29
30 # Location of database directory
31 # Environment=PGDATA=/var/lib/pgsql/9.5/data/ #註釋此行
32 Environment=PGDATA=/home/yunwei/pgsql/data #新增此行
33 # Where to send early-startup messages from the server (before the logging
34 # options of postgresql.conf take effect)
35 # This is normally controlled by the global default set by systemd
36 # StandardOutput=syslog
systemctl daemon-reload
systemctl start postgresql-9.5 #須要重啓生效
# psql --version 查看版本號
登陸postgres數據庫,須要先切換到postgres用戶下才能登陸
[root@wangning ~]# su - postgres
Last login: Thu Aug 30 10:44:48 CST 2018 on pts/0
-bash-4.2$ psql postgres #以postgres用戶登陸數據庫,postgres用戶是安裝是默認建立的,沒有登陸密碼
psql (9.5.14)
Type "help" for help.
postgres=# alter user postgres password '123456'; #修改postgres用戶密碼,這樣就能夠遠程登陸了,本地登陸無需密碼
postgres=# \l #查看庫列表,如下是安裝後默認的庫
postgres=# \list
postgres=# \du #查看用戶列表,bzh是我本身建立的
postgres=# \q #退出數據庫
建立bzh用戶,createdb是權限,還有其餘權限,好比superuser、createuser等,createdb是最小的權限
postgres=# create user bzh createdb;
修改bzh的密碼爲123456
postgres=# alter user bzh password '123456';
postgres=# create database testdb owner bzh;
將testdb數據庫的全部權限都賦予testdb
postgres=# grant all privileges on database testdb to bzh;
postgres=# \c testdb #進入testdb庫裏
-bash-4.2$ psql -U bzh -h 10.0.0.14 -d testdb #以bzh用戶登陸testdb庫
testdb=# \d #顯示當前庫下的全部表
testdb=# create table test (no int,name text ); #建立test表
testdb=# insert into test (no,name) values (1,'devops'); #插入數據
testdb=# select * from test; #查詢test表中全部數據
postgres=# drop database testdb;
語法
pg_dump -h localhost -U postgres(用戶名) 數據庫名(缺省時同用戶名) >/data/dum.sql
pg_dump -h localhost -U postgres(用戶名) 數據庫名(缺省時同用戶名) -t table(表名) >/data/dum.sql
將testdb庫導出
[root@wangning ~]# pg_dump -h 10.0.0.14 -U bzh testdb >bzh.sql
指定端口號將tesdb庫導出並壓縮
[root@wangning ~]# pg_dump -h 10.0.0.14 -p 5432 -U bzh testdb|gzip >bzh.sql.gz
將test表導出
[root@wangning ~]# pg_dump -h 10.0.0.14 -U bzh testdb -t test >test.sql
語法
psql -U postgres(用戶名) 數據庫名(缺省時同用戶名) < /data/dum.sql
將bzh.sql導入testdb庫中,testdb須要提早建好
[root@wangning ~]# psql -U bzh -h 10.0.0.14 testdb <bzh.sql
將bzh.sql.gz導入testdb庫中,testdb須要提早建好
[root@wangning wangning]# gunzip -c bzh.sql.gz |psql -U postgres -h 10.0.0.14 -p 5432 testdb
報錯緣由:若是登陸時未指定鏈接的目標數據庫,那麼默認數據庫名稱與用戶名相同。