安装PostgreSQL
$ sudo apt-get install postgresql postgresql-server-dev-9.3 #安装好后默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。 $ sudo -u postgres psql #修改postgres数据库密码 postgres=# \password postgres $ sudo passwd postgres #修改postgres用户密码为postgres
安装客户端管理器:
$ sudo apt-get install -y pgadmin3
创建数据库用户ashin并指定其为超级用户:
sudo -u postgres createuser --superuser ashin sudo -u postgres psql \password ashin \q sudo -u postgres createdb -O ashin ashin
用户名不加引号,密码必须用单引号
登录数据库:
$ psql -U postgres -h 127.0.0.1 $ psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
psql命令存在简写形式。如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名(-U参数的部分).默认用户是当前系统用户名,默认数据库名于当前系统用户名相同。
建立数据库,并指定所有者,数据库名和用户名不能使用单引号,双引号或者不加都行
在外部终端创建数据库:
$ sudo -u postgres createuser -D -P test1 #新建用户test1,-D该用户没有创建数据库的权利,-P提示输入密码 $ sudo -u postgres createdb -O test1 db1 # 创建数据库db1,-O设定所有者为test1
修改PostgresSQL数据库配置实现远程访问
$ sudo vi /etc/postgresql/9.1/main/postgresql.conf
监听任何地址访问,修改连接权限
#listen_addresses = 'localhost'
改为 listen_addresses = '*'
启用密码验证
#password_encryption = on
改为password_encryption = on
可访问的用户ip段
$ sudo vi /etc/postgresql/9.1/main/pg_hba.conf
在文档末尾加上以下内容
host all all 0.0.0.0 0.0.0.0 md5
重启PostgreSQL数据库
$ sudo /etc/init.d/postgresql restart
创建新用户ashin,但不给建数据库的权限:
postgres=# create user ashin with password 'ashin' nocreatedb; CREATE ROLE
创建superuser:
postgres=# create user sentry superuser password 'sentry'; CREATE ROLE
控制台命令:
\h:查看SQL命令的解释,比如\h select。 \?:查看psql命令列表。 \l:列出所有数据库。 \c [database_name]:连接其他数据库。 \d:列出当前数据库的所有表格。 \d [table_name]:列出某一张表格的结构。 \du:列出所有用户。 \e:打开文本编辑器。 \conninfo:列出当前数据库和连接的信息。
参考:http://blog.sina.com.cn/s/blog_6af33caa0100ypck.html
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
PostgreSQL有很多数据类型,表也可以继承
文档:http://doc.zzbaike.com/postgresql/8-1/pgsqldoc-cvs/
查看有哪些可以装的:
yum list postgresql*
安装:
yum install postgresql-server.x86_64 postgresql-plpython.x86_64 postgresql-libs.i686 postgresql-docs.x86_64 postgresql-devel.x86_64 postgresql-contrib.x86_64
初始化data目录:
service postgresql initdb
默认/var/lib/pgsql/data/
下是空的。
启动:
systemctl enable postgresql systemctl start postgresql systemctl status postgresql sudo -u postgres psql
创建新用户和数据库:
sudo -u postgres createuser -P itil sudo -u postgres createdb -O itil test
连接时报错:
sudo -u postgres psql -U itil -d test psql: FATAL: Peer/Ident authentication failed for user "itil"
解决方法:
修改/var/lib/pgsql/data/pg_hba.conf
中的
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 ident
把METHOD列的值改成trust
,重启:systemctl restart postgresql
网友216.*.*.226[Seattle]2022-06-30 06:27
网友185.*.*.20[火星]2022-06-30 06:19
网友54.*.*.91[法国]2022-06-30 06:10
网友185.*.*.39[火星]2022-06-30 06:05
发表评论
亲~ 评论内容是必须的哟! o(∩_∩)o
昵称
邮箱
主页
评论