从官方源安装,配置官方源。
sudo apt-get install curl ca-certificates gnupg
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
vi /etc/apt/sources.list.d/pgdg.list.
写入如下内容
deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main
更新
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Finally, update the package lists, and start installing packages:
安装
sudo apt-get update
sudo apt-get install postgresql-12 pgadmin4
vim /etc/postgresql/12/main/postgresql.conf
1.监听任何地址访问,修改连接权限
#listen_addresses = 'localhost' 改为 listen_addresses = '*'
2.启用密码验证
#password_encryption = on 改为 password_encryption = on
vim /etc/postgresql/12/main/pg_hba.conf
在文档末尾加上以下内容
host all all 0.0.0.0 0.0.0.0 md5
重启
/etc/init.d/postgresql restart
切换到postgres用户,将在postgres用户下创建新数据库用户:
sudo su - postgres
登录数据库:
psql
设置密码:
\password postgres
创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码:
CREATE USER dbuser WITH PASSWORD 'password';
创建用户数据库,这里为exampledb,并指定所有者为dbuser:
CREATE DATABASE exampledb OWNER dbuser;
将exampledb数据库的所有权限都赋予dbuser:
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
退出控制台
\q
登录数据库
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
控制台命令:
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。