title: PostgreSQL数据库安装及简单操作
categories: 数据库
tags:
- PostgreSQL
timezone: Asia/Shanghai
date: 2019-01-06
环境
REHL7
CentOS7
PostgreSQL 11-11-2
安装方法1:官方yum方式
1.下载并安装官方yum源
# REHL7 PostgreSQL 11-11-2
yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm
# CentOS7 PostgreSQL 11-11-2
yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
2.yum方式安装数据库客户端和服务端
yum install -y postgresql11 postgresql11-server
3.初始化数据库并启用自动启动
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11
systemctl status postgresql-11 -l
安装方法2:下载rpm安装包离线安装
1.下载离线安装包并安装
curl -O http://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/postgresql11-libs-11.1-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/postgresql11-contrib-11.1-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/postgresql11-11.1-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql11-11.1-1PGDG.rhel7.x86_64.rpm postgresql11-contrib-11.1-1PGDG.rhel7.x86_64.rpm postgresql11-libs-11.1-1PGDG.rhel7.x86_64.rpm postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm
2.初始化数据库并启用自动启动
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11
systemctl status postgresql-11 -l
安装方法3:源码方式安装
1.配置本地yum并安装开发工具和依赖
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cat <<EOF >/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
EOF
yum clean all #清理本地缓存
yum clean plugins #清理插件缓存
yum makecache #构建缓存
yum groupinstall -y "Development Tools"
yum install -y readline-devel zlib-devel
2.下载源码并编译安装
curl -O https://ftp.postgresql.org/pub/source/v11.1/postgresql-11.1.tar.gz
tar -vxf postgresql-11.1
./configure
make
make install
3.初始化并启动数据库
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
4.创建test库并登陆数据库
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
注:PostgreSQL官方有非常详细和简要的各系统安装步骤。
常用命令
为postgres用户设置密码
\password postgres
创建数据库用户dbuser,并设置密码。
CREATE USER dbuser WITH PASSWORD 'password';
创建数据库exampledb
/usr/local/pgsql/bin/createdb exampledb
登陆数据库
/usr/local/pgsql/bin/psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
-U指定用户,-d指定数据库,-h指定服务器,-p指定端口
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录
SELECT * FROM user_tbl;
# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;
附录
PostgreSQL官网:https://www.postgresql.org/about/