postgresql_安装
版本信息
操作系统版本: CentOS Linux release 7.6.1810 (Core)
postgresql版本: postgresql-10.11-3-linux-x64-binaries.tar.gz
postgresql下载地址: https://www.enterprisedb.com/download-postgresql-binaries
防火墙放开端口
Centos7的操作防火墙
开放5432的postgresql端口
firewall-cmd --permanent --add-port=5432/tcp #增加5432端口
firewall-cmd --reload #重启防火墙
firewall-cmd --query-port=5432/tcp #查询3306端口是否放开
防火墙其它相关命令
systemctl stop firewalld 关闭防火墙
firewall-cmd --state 防火墙状态查询
systemctl disable firewalld 防火墙开机禁用
postgresql的安装
目录说明
postgresql的运行软件安装在**/usr/local/pgsql目录下
postgresql的数据及日志安装在/usr/local/pgsql/pgsql_data**目录下
解压postgresql包
cd /usr/local
tar -xvf postgresql-10.11-3-linux-x64-binaries.tar.gz
即解压后会多出一上pgsql的文件夹即数据库程序
增加postgres用户
groupadd postgres
useradd -r -g postgres postgres
passwd postgres #给postgres用户设置密码, 两次输入确认密码
groups postgres
----------给postgres用户相关的目录权限(在root用户下设置)-----------
mkdir /usr/local/pgsql/pgsql_data
chmod -R 755 /usr/local/pgsql
chown -R postgres:postgres /usr/local/pgsql
mkdir /home/postgres
chmod 755 -R /home/postgres/
chown -R postgres:postgres /home/postgres
初始化及配置postgresql
su - postgres #切换postgresq用户操作以下命令
#初始化postgresql
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/pgsql_data/
放开任意IP限制
cd /usr/local/pgsql/pgsql_data
vi pg_hba.conf
将标红线的那行注释掉 换成下行 以放行IP
将标红线的那行注释掉
然后保存退出
vi postgresql.conf
将里面的 #listen_addresses=’localhost’ 修改为listen_addresses = ‘*’
启动postgresql
su - postgres 切换postgresq用户操作以下命令
#启动数据库
cd /usr/local/pgsql
chmod 700 pgsql_data/
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/pgsql_data/ -l logfile start
#停止数据库
/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/pgsql_data/
#重启数据库
/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/pgsql_data/
配置全局变量
vi /etc/profile
export PATH=/usr/local/pgsql/bin:${PATH}
保存并退出c
source /etc/profile
登录数据库命令行模式
su - postgres 切换postgresq用户操作以下命令
psql -h 127.0.0.1 -d postgres -U postgres -p 5432
postgres开机自启动
在root用户模式下操作
chmod +x /etc/rc.local
vi /etc/rc.local
su - postgres -c 'cd /usr/local/pgsql;chmod 700 pgsql_data/;/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/pgsql_data/ -l logfile start'
然后保存退出
数据库的使用
命令行竖着显示
\x
select * from user;
查看当前数据库列表
创建新的数据库
CREATE DATABASE xxxtestxxx WITH OWNER=postgres ENCODING='UTF-8';
切换数据库为test
\c test 切换当前数据库为test
查看当前数据库下的所有表
\d 查看当前数据库下的所有表
创建一个简单的数据表
CREATE TABLE student (
id integer NOT NULL,
name character(32),
number char(5),
CONSTRAINT student_pkey PRIMARY KEY (id)
);
查看表\d
\d student; #查看student表
插入一条数据
INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');
SELECT * FROM student WHERE id=1; #查询这条数据
退出交互界面
\q
主从同步相关命令
查看从的基本信息
select * from pg_stat_replication;
--查看主备的性能参数
select pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_insert_lsn(), sent_lsn)) send_gap,--当前与发送端差值
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_insert_lsn(),replay_lsn)) apply_gap,--当前与应答端差值
*
from pg_stat_replication;
订阅端
select pg_size_pretty(pg_wal_lsn_diff(received_lsn, latest_end_lsn)),--回放的速度
*
from pg_stat_subscription;