找了一遭不知道安哪个,那就选个新的吧。。。。
官方地址 https://www.postgresql.org/download/linux/redhat/
有教程
1,安装
[root@SENRSL01 senrsl]# sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[root@SENRSL01 senrsl]# sudo yum install -y
postgresql14-server
[root@SENRSL01 senrsl]# /usr/pgsql-14/bin/postgresql-14-setup
initdb
Initializing database ... OK
[root@SENRSL01 senrsl]# systemctl enable postgresql-14
Created symlink from
/etc/systemd/system/multi-user.target.wants/postgresql-14.service
to /usr/lib/systemd/system/postgresql-14.service.
[root@SENRSL01 senrsl]# systemctl start postgresql-14
[root@SENRSL01 senrsl]#
2,远程用户
安装后自动创建postgres用户,无密码
[root@SENRSL01 ~]# su - postgres
-bash-4.2$ psql -U postgres
psql (14.5)
输入 "help" 来获取帮助信息.
postgres=# alter user postgres with encrypted password '012345';
//设置默认创建的用户的密码
ALTER ROLE
postgres=#
也可以创建用户
[root@SENRSL01 senrsl]# psql
psql: 错误: 连接到套接字"/var/run/postgresql/.s.PGSQL.5432"上的服务器失败:致命错误:
角色 "root" 不存在
[root@SENRSL01 senrsl]# su - postgres
-bash-4.2$ pwd
/var/lib/pgsql
-bash-4.2$ psql
psql (14.5)
输入 "help" 来获取帮助信息.
postgres=# create user senrsl with password '012345';
CREATE ROLE
postgres=# create database test22 owner senrsl;
CREATE DATABASE
postgres=# grant all privileges on database test22 to senrsl;
GRANT
postgres=# \q
-bash-4.2$
每条语句后面要加 ;。。。。
3,开启远程访问
postgres-# \q //退出数据库
-bash-4.2$ vi /var/lib/pgsql/14/data/postgresql.conf
修改
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
-bash-4.2$ vi /var/lib/pgsql/14/data/pg_hba.conf
修改
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 0.0.0.0/0 md5
# IPv6 local connections:
重启服务
-bash-4.2$ su - root
密码:
上一次登录:三 8月 31 16:14:22 CST 2022pts/0 上
[root@SENRSL01 ~]# systemctl restart postgresql-14.service
[root@SENRSL01 ~]#
尝试连接,发现5432端口不通。。。。
4, 防火墙
[root@SENRSL01 ~]# firewall-cmd --permanent --add-port=5432/tcp
success
[root@SENRSL01 ~]# systemctl restart firewalld
[root@SENRSL01 ~]# systemctl restart postgresql-14
[root@SENRSL01 ~]#
此时再去连接,就通了。。。。
配图2
5,命令行
[root@SENRSL01 ~]# psql -h 127.0.0.1 -p 5432 -U postgres
//接入postgres数据库,库名为postgres
用户 postgres 的口令:
psql (14.5)
输入 "help" 来获取帮助信息.
postgres=# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
test22 | senrsl | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=Tc/senrsl +
| | | | |
senrsl=CTc/senrsl
(4 行记录)
postgres=# \c postgres
您现在已经连接到数据库 "postgres",用户 "postgres".
postgres=# \dt
没有找到任何关系.
postgres=# \c test22
您现在已经连接到数据库 "test22",用户 "postgres".
test22=# \dt
没有找到任何关系.
test22=# \d
没有找到任何关系.
test22=# \encoding
UTF8
test22=# \q
[root@SENRSL01 ~]#
1)库操作
postgres=# \c test22
您现在已经连接到数据库 "test22",用户 "postgres".
test22=# create database test2208;
CREATE DATABASE
test22=# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
test22 | senrsl | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=Tc/senrsl +
| | | | |
senrsl=CTc/senrsl
test2208 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
(5 行记录)
test22=# \c test2208
您现在已经连接到数据库 "test2208",用户 "postgres".
test2208=# \c test22;
您现在已经连接到数据库 "test22",用户 "postgres".
test22=# drop database test2208;
DROP DATABASE
test22=# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=c/postgres +
| | | | |
postgres=CTc/postgres
test22 | senrsl | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
=Tc/senrsl +
| | | | |
senrsl=CTc/senrsl
(4 行记录)
2)表操作
test22=# create table t_user(id int primary key not null,name
varchar(128));
CREATE TABLE
test22=# \d
关联列表
架构模式 | 名称 | 类型 | 拥有者
----------+--------+--------+----------
public | t_user | 数据表 | postgres
(1 行记录)
test22=# insert into t_user values(1,'a');
INSERT 0 1
test22=# select * from t_user;
id | name
----+------
1 | a
(1 行记录)
test22=#
支持常规的SQL语法。。。。
senRsl
2022年08月31日15:58:54
没有评论 :
发表评论