环境:
Linux:CentOS6.9 64
PostgreSQL:9.6
0、创建postgres用户
groupadd postgres
useradd -g postgres postgres
passwd postgres --修改postgres用户密码
1、下载安装
yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
2、安装postgresql96
yum install -y postgresql96-server postgresql96-contrib
3、创建数据库文件存放的目录
mkdir -p /opt/pgsql/data
chown -R postgres:postgres /opt/pgsql
chown -R postgres:postgres /opt/pgsql/data
4、修改默认数据库文件存放路径
vim /etc/rc.d/init.d/postgresql-9.6
101行,102行
PGDATA=/opt/pgsql/data
PGLOG=/opt/pgsql/pgstartup.log
5、指定数据库存放位置和编码方式,初始化数据库(重要:使用postgres用户进行)
su - postgres
/usr/pgsql-9.6/bin/initdb -E UNICODE -D /opt/pgsql/data
Success:/usr/pgsql-9.6/bin/pg_ctl -D /opt/pgsql/data -l logfile start
6、修改数据库默认接收的监听地址与端口参数
cd /opt/pgsql/data
vim /opt/pgsql/data/postgresql.conf
##去掉59行的注释,将listen_addresses = 'localhost' 改成 listen_addresses = '*'
接下来继续修改pg_hba.conf服务连接文件,告诉数据库服务器它将允许什么样的客户端连接到自己
vim /opt/pgsql/data/pg_hba.conf
在86行下面增加一行,表示允许任何一个客户端使用正确的用户名和密码访问自己:
host all all 0.0.0.0/0 password
或者
host all all 192.168.17.1/24 password
7、设置PostgreSQL自启
chkconfig --list | grep postgres
chkconfig postgresql-9.6 on
8、查看PostgreSQL状态,启动、关闭、重启
service postgresql-9.6 status
service postgresql-9.6 start
service postgresql-9.6 stop
service postgresql-9.6 restart
9、连接PostgreSQL
psql -U username -d database_name -h host -W
示例:
psql -h 127.0.0.1 -d postgres -U postgres
psql -U postgres //连接pgsql server
修改配置文件pg_hba.conf之后,登录数据库重新刷新更新后的配置命令:
select pg_reload_conf();
显示安装目录
show data_directory;
为数据库默认的登陆名postgres(等同于SQLServer里面的sa)设置登陆数据库的密码:
ALTER USER postgres WITH PASSWORD '1234'; //添加密码
select * from pg_shadow;
\q回车 退出登录
10、设置防火墙
iptables -I INPUT -p tcp --dport 5432 -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables
=============================================================
PostgreSQL常用命令:
指定参数登录
psql -U username -d database_name -h host -W
示例:
psql -h 127.0.0.1 -d postgres -U postgres
psql -U postgres //连接pgsql server列举数据库:\l
切换数据库:\c dbname
列举表:\dt 或者 \d dbname
select * from pg_tables;
select tablename from pg_tables where schemaname='public';查看表结构:\d tablename
创建数据库:create database [dbname];
删除数据库:drop database [dbname];
重命名一个表:alter table [表名A] rename to [表名B];
删除一个表:drop table [表名]
X) 显示 PostgreSQL 的使用和发行条款:\copyright
X) 显示或设定用户端字元编码:\encoding [字元编码名称]
X) 查看帮助说明:\h [名称] ## 用*显示全部命令
X) securely change the password for a user:\password [USERNAME]
XX) 退出:\q