Postgres 9.2快速入门(Centos 7)
安装
配置好yum后,可以直接用下面的命令进行安装。
yum install postgresql-server.x86_64
yum install postgresql-contrib.x86_64
初始化
安装好postgres后,需要初始化一个数据库,才能使用。使用下面的命令初始化一个数据库。
[root@vm1 ~]# postgresql-setup initdb
Initializing database ... OK
[root@vm1 ~]#
启用服务
使用下面的命令,将postgres加入操作系统的服务中,方便启动和停止。
[root@vm1 ~]# systemctl enable postgresql.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.
[root@vm1 ~]#
启动服务
使用systemctl命令启动数据库服务。
[root@vm1 ~]# systemctl start postgresql.service
[root@vm1 ~]#
查看服务状态
查看数据库服务的状态。
[root@vm1 ~]# systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-04-06 10:54:01 CST; 34s ago
Process: 3645 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
Process: 3639 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 3649 (postgres)
CGroup: /system.slice/postgresql.service
├─3649 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
├─3650 postgres: logger process
├─3652 postgres: checkpointer process
├─3653 postgres: writer process
├─3654 postgres: wal writer process
├─3655 postgres: autovacuum launcher process
└─3656 postgres: stats collector process
Apr 06 10:54:00 vm1 systemd[1]: Starting PostgreSQL database server...
Apr 06 10:54:01 vm1 systemd[1]: Started PostgreSQL database server.
[root@vm1 ~]#
登录postgres客户端
安装完成后,自动创建了一个postgres用户。可以切换到该用户下,进行数据库的各种操作。
使用postgres自带的psql客户端登录。
[root@vm1 ~]# cat /etc/passwd | grep postgres
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
[root@vm1 ~]# su - postgres
-bash-4.2$ psql
psql (9.2.18)
Type "help" for help.
postgres=#
修改用户密码
在psql中输入SQL命令,修改用户密码。
postgres=# alter user postgres with password '111111';
ALTER ROLE
postgres=#
创建并切换到新数据库
postgres=# create database mydb;
CREATE DATABASE
postgres=# \c mydb;
You are now connected to database "mydb" as user "postgres".
mydb=#
创建表
使用SQL创建一个表,插入数据并查询。
mydb=# create table t_user(f_userid int, f_username varchar(20));
CREATE TABLE
mydb=# insert into t_user values(1, 'jihui');
INSERT 0 1
mydb=# select * from t_user;
f_userid | f_username
----------+------------
1 | jihui
(1 row)
mydb=#
退出客户端
mydb=# \q
-bash-4.2$
在Shell中执行SQL查询
-bash-4.2$ psql -U postgres -w 111111 -d mydb -c "select * from t_user"
psql: warning: extra command-line argument "111111" ignored
f_userid | f_username
----------+------------
1 | jihui
(1 row)
-bash-4.2$