postgresql数据库创建123

浏览: 2104

summary:

安装:客户端、服务器

创建用户:系统用户、数据库用户

创建数据库

修改数据库用户密码

修改数据库用户访问数据库的权限

切换系统用户

登录控制台

登录数据库

--------------------------------------------------------

1. 安装postgresql客户端:

sudo apt-get install postgresql-client

安装postgresql服务器:

sudo apt-get install postgresql

2. 初次安装后,默认生成

Linux系统用户:postgres

数据库postgres和的数据库用户postgres

3. 新建Linux新用户

sudo adduser pythonuser

4.1 切换到Linux的postgres用户

sudo su - postgres

4.2 使用psql命令登录PostgreSQL控制台(即系统用户postgres以同名数据库用户的身份,三者同名,免密登录数据库):

psql

4.3 为数据库用户postgres用户设置一个密码。

\password postgres

4.4 创建数据库用户pythonuser,并设置密码abc123

CREATE USER pythonuser WITH PASSWORD 'abc123';

4.3 修改数据库用户pythonuser的密码

\password pythonuser

4.4 创建用户数据库,这里为pipeline,并指定所有者为pythonuser:

CREATE DATABASE pipeline OWNER pythonuser;

4.5 删除用户

drop user pythonuser;

4.6 将pipeline数据库的所有权限都赋予pythonuser,否则pythonuser只能登录控制台,没有任何数据库操作权限

GRANT ALL PRIVILEGES ON DATABASE pipeline to pythonuser;

4.7 退出控制台

\q 或ctrl+D

虽然在postgres用户下的postgresql控制台里建立的数据库和数据库用户名及权限,但与postgres数据库是平行的关系。也可以在shell里用命令行建立数据库和数据库用户名。

在postgresql控制台里可以用\l查看数据库名|用户名。任何系统用户名都可以登录以某数据库名的数据库。系统用户名和数据库用户名相同,则可以简写。

4.1 创建数据库用户dbuser,并指定其为超级用户。

sudo -u postgres createuser --superuser dbuser

4.2 登录数据库控制台,设置dbuser用户的密码,完成后退出控制台。

sudo -u postgres psql
\password dbuser
\q

4.3 在shell命令行下,创建数据库exampledb,并指定所有者为dbuser。

sudo -u postgres createdb -O dbuser exampledb

5.1 本地登录数据库

psql -U pythonuser -d pipeline -h 127.0.0.1 -p 5432

5.2 若Linux系统用户和数据库用户名相同,则可以简写。这也是让两者名字相同的原因。

psql pipeline

5.3 PostgreSQL内部还存在与当前系统用户同名的数据库,则连数据库名都可以省略。

如系统用户testdb,数据库名testdb,数据库用户名testdb

psql

6. 恢复外部数据:

psql exampledb < exampledb.sql

7. 安装完成后,默认只能本地才能连接数据库,其他机子访问不了,需要进行配置。

7.1 修改监听地址

sudo vi /etc/postgresql/9.5/main/postgresql.conf 

在 #listen_addresses = 'localhost' 注释后添加

listen_addresses = '*' 

7.2 修改可访问用户的IP段

sudo vi /etc/postgresql/9.5/main/pg_hba.conf 

在文件末尾添加: 

# Allow all the IP address to connect
host all all 0.0.0.0 0.0.0.0 md5

7.3 重启数据库

sudo /etc/init.d/postgresql restart

7.4 此时即可远程登录数据库

psql -U pythonuser -d pipeline -h 10.8.34.16 -p 5432

8. 控制台命令

\password:设置密码
\q:退出
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

--------------------------------------------------------

参考链接

http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

http://www.cnblogs.com/z-sm/p/5644165.html

推荐 1
本文由 safa 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册