阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下PostgreSQL安装和配置

155次阅读
没有评论

共计 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,通过 sudo -u postgres psql 进入,提示符变成:postgres=#  

在这里可用执行 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

Ubuntu 下 PostgreSQL 安装和配置

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  得到用户列表如下:

Ubuntu 下 PostgreSQL 安装和配置

执行 postgres=# \l 得到数据库列表如下:

Ubuntu 下 PostgreSQL 安装和配置

若要删除用户(如删除 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
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3946字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中