PostgreSQL
部署 初始化 配置远程
参考:
https://blog.csdn.net/m0_59586152/article/details/125136342
一. 安装
1. ubuntu
换源后即可apt
安装
1 2
| sudo apt install postgresql postgresql-contrib
|
2.
centos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| 1、导入yum源 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装PostgreSQL服务 sudo yum install -y postgresql12 postgresql12-server
安装PostgreSQL 11就是 : yum install postgresql12 postgresql12-server 安装PostgreSQL 9.5就是: yum install postgresql95 postgresql95-server 依此类推 3、初始化数据库 sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
4、启动PostgreSQL服务
sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12 9.x版本的服务名是postgresql-9.x
install_pgsql() { echo -e "\033[36m ==============导入yum源 \033[0m" sleep 6 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm echo -e "\033[36m ========================安装PostgreSQL服务+初始化数据库 \033[0m" sudo yum install -y postgresql12 postgresql12-server sudo /usr/pgsql-12/bin/postgresql-12-setup initdb [ $? = 0 ] && echo -e "\033[36m =============PostgreSQL安装完成 \033[0m" || echo -e "\033[33m PostgreSQL安装失败 \033[0m" systemctl start postgresql-12 systemctl status postgresql-12 } main(){ install_pgsql } main
|
二. postgresql
配置远程
ubuntu20.04
文件位置:/etc/postgresql/10/main/pg_hba.conf
修改配置允许远程连接
1.
连接数修改成500
,生产可根据实际情况修改。配置使用md5
方式认证
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/postgresql/10/main/pg_hba.conf
host all all 0.0.0.0/0 md5
vim /etc/postgresql/10/main/postgresql.conf
------------------------------------------------- max_connection = 1000
superuser_reserved_connections=6
idle_in_transaction_session_timeout=20000 -------------------------------------------------
|
2.
修改配置文件
默认情况下,PostgreSQL
服务器仅仅监听本地网络接口:127.0.0.1
,
配置 PostgreSQL
服务器允许远程访问,编辑【postgresql.conf】
文件
为了允许远程访问你的PostgreSQL
服务器。
1 2 3 4
| vim /etc/postgresql/10/main/postgresql.conf 打开配置文件【postgresql.conf】 并且在【CONNECTIONS AND AUTHENTICATION】一节添加【listen_addresses = '*'】。
|
3.
重启 postgresql
生效
1
| sudo service postgresql restart
|
此时便可以远程连接pgsql
。
4.
验证 ( 成功)
三. pgsql
使用
psql
控制台命令:除了前面已经用到的 \password
命令(设置密码)和 \q
命令(退出)以外,控制台还提供一系列其他命令。
\h
:查看SQL
命令的解释,比如\h select
。
\?
:查看psql
命令列表。
\l
:列出所有数据库。
\c [database_name]
:连接其他数据库。
\d
:列出当前数据库的所有表格。
\d [table_name]
:列出某一张表格的结构。
\du
:列出所有用户。
\e
:打开文本编辑器。
\conninfo
:列出当前数据库和连接的信息。
1.
初始化
可以使用以下命令更改任何用户(包括 postgres
)的密码:
输入 \du
命令查看 PostgreSQL
用户:
1 2 3 4 5 6
| # 更改密码 ALTER USER postgres WITH PASSWORD 'my_password'; 更改密码 # 建议新建一个zabbix用户并给他开通超级管理员权限 # 建议你另外创建一个用户(不建议使用默认的 postgres 用户)。为此,请使用以下命令: CREATE USER my_user WITH PASSWORD 'my_password'; ALTER USER my_user WITH SUPERUSER; (添加超级用户管理员权限)
|
2.
连库操作
两种方式访问 PostgreSQL
服务器
为了以 postgres
用户身份登录 PostgreSQL
服务器,首先切换用户,然后使用 psql
工具访问 PostgreSQL
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 1. sudo su - postgres 切换用户 2. psql 进入 PostgreSQL Shell 3. \q 退出 PostgreSQL Shell
sudo -u postgres psql 注:通常 postgres 用户仅应用于本地使用,正式生产环境可以使用 postgres 账户重新创建账户,授权角色信息并指定db数据库;
DROP USER my_user; 删除用户
psql -U my_user
psql -U my_user -d my_db 例子: psql -U zabbix -d zabbix
psql -U ubuntu -d postgres
|
结语祝好!