postgreSql
启动:
pg_ctl -D /pgdata/12/data/ -l logfile start
进入:
su - postgres
psql
远程连接
psql -d postgres -h 10.0.0.215 -p 1921 -U postgres
国产类数据库 带动了 postgreSql 的发展,
还有 GUSS高斯(华为的) :计算机二级加入了。 底层内核是 postgresql
grenplum (PG) 专门做大数据的 (原生分布式的 AP 解决方案)
存储过程 可以用PG ,
TP
AP
postgreSQL(PG)
三大底座
mysql
oracle
postgreSQL
国产数据库都是在这3个底座基础上开发的, 比如 高斯 基于PG
1 下载PG
https://www.postgresql.org/download/
建议 二进制 安装
https://www.postgresql.org/ftp/source/
tar.bz2 和 tar.gz 都可以,就是压缩比不一样而已
2. 安装
useradd postgres
passwd postgres
2.3 安装依赖包
yum groupinstall -y "Development Tools" "Legacy UNIX Compatibility" -y
yum install -y bison flex readline* zlib-devel gcc* gmake -y
2.4 创建目录并授权
mkdir -p /usr/local/pg12 #安装目录
mkdir -p /pgdata/12/data #数据路径 sdb
mkdir -p /archive # 归档 sdc
chown -R postgres. /pgdata
chown -R postgres. /archive
chown -R postgres. /usr/local/pg12
chmod 700 /pgdata/12/data -R
2.5 系统参数优化
# vi /etc/sysctl.conf
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 50100 64128000 50100 1280
fs.file-max = 7672460
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# sysctl -p
# vi /etc/security/limits.conf
* soft nofile 131072
* hard nofile 131072
* soft nproc 131072
* hard nproc 131072
* soft core unlimited
* hard core unlimited
* soft memlock 50000000
* hard memlock 50000000
建议关闭numa
设置IO策略为deadline(机械)或者noop(SSD)
2.6 源码安装pg
2.6.1 上传软件至/opt,并解压
# tar xf postgresql-12.6.tar.gz
# cd postgresql-12.6
# ./configure --prefix=/usr/local/pg12 --with-pgport=1921 #
# gmake world # 所有功能都编译上,
# gmake install-world
如果编译数据库时使用了gmake world和gmake install-world, 所有的插件都会被安装
2.7 设置环境变量
su - postgres
vim .bash_profile
export PGDATA=/pgdata/12/data
export LANG=en_US.utf8
export PGHOME=/usr/local/pg12
export
LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/us
r/local/lib:$LD_LIBRARY_PATH
export DATE=`date +"%Y%m%d%H%M"`
export PATH=$PGHOME/bin:$PATH:.
export MANPATH=$PGHOME/share/man:$MANPATH
export PGUSER=postgres
$ source .bash_profile
[postgres@pg1 ~]$ psql --version
psql (PostgreSQL) 12.6
显示这样,说明 安装没问题了。
2.8 初始化数据
su - postgres
# 简易初始化
initdb -D /pgdata/12/data -W #(我选的生产建议)
# 生产建议
initdb -A md5 -D $PGDATA -E utf8 --locale=C -W
# 启动
[postgres@pg1 ~]$ pg_ctl -D /pgdata/12/data/ start -l logfile
输入密码: 123456
pg_ctl start # 这种启动也可以
pg_ctl stop # 关闭
验证 sql 能否正常使用
# 操作体验
[postgres@pg1 ~]$ psql
Password for user postgres:
postgres=# create database baimei ;
相对mysql 有点区别, 比如 show databases; , 在 pg 里用
\l # show databases;
\c baimei; # use baimei
create table t1 (id int);
insert into t1 values(1);
\d ; # show tables;
\d t1 # 表结构, desc t1
3、启动关闭
pg_ctl -D /pgdata/12/data/ -l logfile start
pg_ctl -D /pgdata/12/data/ stop -ms
pg_ctl -D /pgdata/12/data/ stop -mf # 默认的方式
pg_ctl -D /pgdata/12/data/ stop -mi
pg_ctl restart -mf
关数据库有3中方式, smart , fast, immediate
Shutdown modes are:
smart quit after all clients have disconnected # 等待所有 客户端断开 比较慢
fast quit directly, with proper shutdown (default) # kill , 事务就回滚
immediate quit without complete shutdown; will lead to recovery on restart # 电源给拔掉
3.2 脚本方式
/opt/postgresql-12.6/contrib/start-scripts/linux
修改这个文件就可以。
pg_rman-- 备份
pg_pool--读写分离
repmgr
常用命令
\?
\l
\d
\d t1
\c oldguo
\help # 查相关的SQL 支持
\help create user
\du
\x
\dn
远程访问:
psql -d postgres -h 127.0.0.1 -p 1921 -U postgres
外网访问
Linux(CentOS)安装PostgreSQL数据库(外网访问)_centos 连接 postgresql-CSDN博客
要让CentOS上安装的PostgreSQL数据库可以从外部网络访问,您需要进行以下步骤:
sudo vi /var/lib/pgsql/data/postgresql.conf
/pgdata/12/data/postgresql.conf
找到以下行并进行修改:
#listen_addresses = 'localhost'
将其修改为:
listen_addresses = '*'
保存并关闭文件。
编辑PostgreSQL的pg_hba.conf文件以配置允许访问的主机。运行以下命令打开文件:
sudo vi /var/lib/pgsql/data/pg_hba.conf
vi /pgdata/12/data/pg_hba.conf
添加以下行到文件的末尾,以允许所有主机访问数据库:
host all all 0.0.0.0/0 md5
保存并关闭文件。
重新启动PostgreSQL服务以应用更改:
pg_ctl restart -mf
需要切换到 postgres 用户
测试连接
psql -d postgres -h 10.0.0.215 -p 1921 -U postgres
打开 Navicat 软件,点击 连接 -> PostgreSQL,主机输入服务器 IP 地址,端口、初始数据库、用户名都保持默认,密码输入刚才设置的。
我的navicat是 10.0.11 不支持
我用的datagrip
欢迎来撩 : 汇总all