操作系统: CentOS 7
数据库: PostgreSQL 12
一、yum安装postgresql12
1、安装存储库rpm包
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装客户端软件包
yum install postgresql12
3、安装服务端软件包(可选)
yum install postgresql12-server
4、初始化数据库并启用自动启动
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
5、配置防火墙
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
6、修改用户密码
#切换用户,执行后提示符会变为‘-bash-4.2$‘su- postgres
#登录数据库,执行后提示符变为 ‘postgres=#‘ psql -U postgres
#设置postgres用户密码为postgres
ALTER USER postgres WITH PASSWORD ‘postgres‘
# 退出数据库
\q
7、开启远程访问
vi/var/lib/pgsql/12/data/postgresql.conf
修改#listen_addresses
=‘localhost‘为 listen_addresses=‘*‘当然,此处‘*’也可以改为任何你想开放的服务器IP
8、信任远程连接
vi/var/lib/pgsql/12/data/pg_hba.conf
修改如下内容,信任指定服务器连接# IPv4 local connections:host all all
127.0.0.1/32 trust
host all all 192.168.1.1/32(需要连接的服务器IP) trust
9、操作
安装后的数据库data目录
/var/lib/pgsql/12/data
客户端程序目录
/usr/pgsql-12/bin
启动数据库
./pg_ctl -D /var/lib/pgsql/12/data start 或者 systemctl start postgresql-12
查看服务是否启动
操作连接数据库
./psql -Upostgres -dpostgres
修改PostgreSQL数据库的默认用户postgres的密码 并新建用户
1.忘记了postgresql 安装时默认用户postgres 的密码,怎么办呢?
linux shell命令下面输入: sudo -u postgres psql (这样就可以直接登录进postgres 了, 然后在里面可以进行添加用户,修改密码之类的,都不是问题
2.修改PostgreSQL登录密码:
ALTER USER postgres WITH password '123456';
//postgres=#为PostgreSQL下的命令提示符
3.创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。
CREATE USER odoo WITH PASSWORD '123456';
4.创建用户数据库,这里为exampledb,并指定所有者为dbuser。
CREATE DATABASE exampledb OWNER odoo;
5.将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to odoo;
6使用\q命令退出控制台(也可以直接按ctrl+D)。
删除数据表
DROP database exampledb;
列出数据库名
SELECT datname FROM pg_database;
检查是否存在该用户
psql testbd -tAc "SELECT 1 FROM pg_roles WHERE rolname='odoo'"