共计 3946 个字符,预计需要花费 10 分钟才能阅读完成。
一、安装
1、安装
使用如下命令,会自动安装最新版,这里 PostgreSQL 为 9.5
sudo apt-get install postgresql
安装完成后,默认会:
(1)创建名为 ”postgres” 的 Linux 用户
(2)创建名为 ”postgres”、不带密码的默认数据库账号作为数据库管理员
(3)创建名为 ”postgres” 的表
安装完成后的一些默认信息如下:
config /etc/postgresql/9.5/main
data /var/lib/postgresql/9.5/main
locale en_US.UTF-8
socket /var/run/postgresql
port 5432
2、psql 命令
安装完后会有 PostgreSQL 的客户端 psql,通过
进入,提示符变成:postgres=# sudo -u postgres psql
在这里可用执行 SQL 语句和 psql 的基本命令。可用的基本命令如下:
\password:设置密码
\q:退出
\h:查看 SQL 命令的解释,比如 \h select。\?:查看 psql 命令列表。\l:列出所有数据库。
\c [database_name]:连接其他数据库。\d:列出当前数据库的所有表格。\d [table_name]:列出某一张表格的结构。\du:列出所有用户。
\e:打开文本编辑器。\conninfo:列出当前数据库和连接的信息。
二、修改数据库默认账号的密码
1、登录
使用 psql 命令登录数据库的命令为:
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
上面命令的参数含义如下:- U 指定用户,- d 指定数据库,- h 指定服务器,- p 指定端口。
输入上面命令以后,系统会提示输入 dbuser 用户的密码。
psql 命令存在简写形式:
如果当前 Linux 系统用户,同时也是 PostgreSQL 用户,则可以省略用户名(- U 参数的部分)
如果 PostgreSQL 内部还存在与当前系统用户同名的数据库,则数据库名也可以省略。
2、修改数默认管账号的密码
以 Linux 用户 ”postgres” 的身份(此时只有该用户有 psql 命令)执行 psql 客户端,进入该客户端的提示符界面(这里系统用户名、数据库用户名、数据库名都为 postgres,故可采用简写形式)
sudo -u postgres psql
postgres=# alter user postgres with password '123456'
这样,管理员 ”postgres” 的密码就为 ”123456″。
退出 psql 客户端命令:\q
若要删除该管理员的密码,则可用命令:sudo -u postgres psql -d postgres
三、修改 Linux 用户的密码
这个其实与安装 postgresql 关系不大。
以 Linux 用户 ”postgres” 为例,对其运行 passwd 命令:
zsm@Ubuntu:/etc/postgresql/9.5/main$ sudo -u postgres passwd // 也可以 sudo passwd postgres
Changing password for postgres.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
四、配置数据库以允许远程连接访问
安装完成后,默认只能本地才能连接数据库,其他机子访问不了,需要进行配置。
1、修改监听地址
sudo gedit /etc/postgresql/9.5/main/postgresql.conf
将 #listen_addresses = ‘localhost’ 的注释去掉并改为 listen_addresses = ‘*’
2、修改可访问用户的 IP 段
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf
在文件末尾添加:host all all 0.0.0.0 0.0.0.0 md5,表示运行任何 IP 连接
3、重启数据库
sudo /etc/init.d/postgresql restart
其他:管理用户、建立数据库等
五、添加新用户和新数据库
法一:使用 PostgreSQL 客户端 psql
运行系统用户 ”postgres” 的 psql 命令,进入客户端:
sudo -u postgres psql
创建用户 ”xiaozhang” 并设置密码:
postgres=# create user xiaozhang with password '123456';
创建数据库 exampledb,所有者为 xiaozhang:
postgres=# create database exampledb owner xiaozhang;
将 exampledb 数据库的所有权限赋予 xiaozhang,否则 xiaozhang 只能登录 psql,没有任何数据库操作权限:
grant all privileges on database exampledb to xiaozhang;
法二:使用 shell 命令行
安装 PostgreSQL 后提供了 createuser 和 createdb 命令行程序。
首先创建数据库用户 ”xiaozhang1″,并指定为超级用户:
sudo -u postgres createuser --superuser xiaozhang1;
接着登录 psql 控制台设置其密码后退出:
zsm@ubuntu:~$ sudo -u postgres psql
psql (9.5.3)
Type "help" for help.
postgres=# \password xiaozhang1;
Enter new password:
Enter it again:
postgres=# \q
然后在 shell 命令行下创建数据库并指定所有者:
sudo -u postgres createdb -O xiaozhang1 exampledb1;
法三:使用 paadmin3 以管理员连接数据库后创建
经过法一、法二操作后,执行 postgres=# \du 得到用户列表如下:
执行 postgres=# \l 得到数据库列表如下:
若要删除用户(如删除 xiaozhang)可先 postgres=# drop database example; 再 postgres=# drop user xiaozhang;。
六、基本数据库操作命令
# 创建新表
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;
———————————— 华丽丽的分割线 ————————————
在 CentOS 6.5 上编译安装 PostgreSQL 9.3 数据库 http://www.linuxidc.com/Linux/2016-06/132272.htm
CentOS 6.3 环境下 yum 安装 PostgreSQL 9.3 http://www.linuxidc.com/Linux/2014-05/101787.htm
PostgreSQL 缓存详述 http://www.linuxidc.com/Linux/2013-07/87778.htm
Windows 平台编译 PostgreSQL http://www.linuxidc.com/Linux/2013-05/85114.htm
Ubuntu 下 LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装 http://www.linuxidc.com/Linux/2013-04/83564.htm
Ubuntu 上的 phppgAdmin 安装及配置 http://www.linuxidc.com/Linux/2011-08/40520.htm
CentOS 平台下安装 PostgreSQL9.3 http://www.linuxidc.com/Linux/2014-05/101723.htm
PostgreSQL 配置 Streaming Replication 集群 http://www.linuxidc.com/Linux/2014-05/101724.htm
———————————— 华丽丽的分割线 ————————————
PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/132944.htm
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)