一、Ubuntu 安装 postgresql12

目前12、13都用(12\13兼容) 本人 pgsql (PostgreSQL)12.0

sudo apt-get update
sudo apt-get upgrade
  • 安装官方的源 curl ca-certificates gnupg
sudo apt-get install curl ca-certificates gnupg
  • 创建建文件储存数据库配置
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
  • 添加官方提供的key
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  • 安装postgresql
安装版本   sudo apt-get -y install postgresql
指定版本 sudo apt-get install postgresql-12
  • 安装客户端
sudo apt-get install pgadmin3

二、postgresql启动

状态  sudo  service postgresql status
启动 sudo service postgresql start
停止 sudo service postgresql stop
重启 sudo service postgresql restart

状态 sudo /etc/init.d/postgresql status
启动 sudo /etc/init.d/postgresql start
停止 sudo /etc/init.d/postgresql stop
重启 sudo /etc/init.d/postgresql restart

三、postgresql基本配置

  • 打开客户端工具psql 修改postgres数据库用户的密码
sudo -u postgres psql  
ALTER USER postgres WITH PASSWORD '1qaz2wsx';
\q
  • 修改ubuntu操作系统的postgres用户的密码
su root      #切换到root用户
sudo passwd -d postgres #清空用户postgres的密码
sudo -u postgres passwd #设置密码 接下来按要求输入两次密码,要与上面的密码相同
  • 用户权限角色
创建用户 create user root with password '1qaz2wsx';
授权 GRANT ALL PRIVILEGES ON DATABASE 数据名 to root;
添加角色 ALTER ROLE root WITH SUPERUSER;

eg授权 GRANT ALL PRIVILEGES ON DATABASE postgres to root;
  • 修改PostgresSQL数据库配置实现远程访问
vim /etc/postgresql/12/main/postgresql.conf

监听任何地址访问,修改连接权限
#listen_addresses = 'localhost' 改为 listen_addresses = '*'
  • 启用密码验证
    #password_encryption = on 改为 password_encryption = on
  • 密码验证
vim /etc/postgresql/12/main/pg_hba.conf

在文档末尾加上以下内容
host all all 0.0.0.0/0 md5
host all all 0.0.0.0/0 trust

psql -U postgres -h 192.168.1.107 -p 5432 -d postgres
psql -U postgres -h localhost -p 5432 -d octa_cis

-U username为数据库用户
-h 数据库地址 如果为localhost 可省略
-p 端口 默认5432可省略
-d 数据库库名
创建用户 create user zhangsan with password ‘1qaz2wsx’;
授权 GRANT ALL PRIVILEGES ON DATABASE mydatabase to zhangsan;
添加角色 ALTER ROLE zhangsan WITH SUPERUSER;
切换用户 su postgres
链接pgsql psql -U postgres
添加密码 ALTER USER postgres WITH PASSWORD ‘1qaz2wsx’;
查看用户 select * from pg_shadow;
创建表 CREATE DATABASE test WITH OWNER = postgres ENCODING = ‘UTF8’;
查看所有数据库: select * from pg_database;
选择库 \c database;

查看客户端版本 psql --version 查看服务器版本 postgres=# show server_version;
查看详细信息 postgres=# select version();