postgresql 创建数据库问题

postgresql 创建数据库问题,第1张

1、使用CREATE DATABASE

命令将创建一个数据库PostgreSQL的shell提示符,但你应该有适当的权限来创建数据库。默认情况下,创建新的数据库将通过克隆标准系统数据库template1。

语法:

CREATE DATABASE语句的基本语法如下:

CREATE DATABASE dbname;

其中dbname是要创建的数据库的名称。

例子:

下面是一个简单的例子,这将创建testdb 在PostgreSQL模式:

postgres=# CREATE DATABASE testdb;

postgres-#

2、使用createdb的命令

PostgreSQL命令行可执行createdb是是SQL命令CREATE DATABASE一个包装器。此命令和SQL命令CREATE DATABASE之间唯一的区别是,前者可以直接在命令行中运行,它允许的注释被添加到数据库中,全部在一个命令。

语法:

createdb语法如下所示:

createdb [option] [dbname [description]]

参数

下表列出了参数及它们的描述。

参数名称            描述

dbname    The name of a database to create  

description    Specifies a comment to be associated with the newly created database  

options    command-line arguments which createdb accepts  

选项

下表列出了命令行参数CREATEDB接收:

选项                            描述

-D tablespace         Specifies the default tablespace for the database  

-e                     Echo the commands that createdb generates and sends to the server  

-E encoding    Specifies the character encoding scheme to be used in this database  

-l locale    Specifies the locale to be used in this database  

-T template    Specifies the template database from which to build this database  

--help    Show help about dropdb command line arguments, and exit  

-h host    Specifies the host name of the machine on which the server is running  

-p port    Specifies the TCP port or the local Unix domain socket file extension on which the server is listening for connections  

-U username    User name to connect as  

-w    Never issue a password prompt  

-W    Force createdb to prompt for a password before connecting to a database  

打开命令提示符,然后去是PostgreSQL安装所在的目录。进入到bin目录,执行下面的命令创建一个数据库。

createdb -h localhost -p 5432 -U postgress testdb

password

上面的命令会提示Postgres的默认的PostgreSQL管理用户的密码,以便提供密码和继续创建新的数据库。

一旦创建数据库时可以使用上述方法,可以检查它在列表中的数据库使用l即反斜线el命令如下:

postgres-# l

                            List of databases

  Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges  

-----------+----------+----------+---------+-------+-----------------------

postgres  | postgres | UTF8     | C       | C     |

template0 | postgres | UTF8     | C       | C     | =c/postgres          +

          |          |          |         |       | postgres=CTc/postgres

template1 | postgres | UTF8     | C       | C     | =c/postgres          +

          |          |          |         |       | postgres=CTc/postgres

testdb    | postgres | UTF8     | C       | C     |

(4 rows)

postgres-#

优点事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。

从技术角度来讲,PostgreSQL 采用的是比较经典的 C/S (client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如 ODBC,JDBC,Python,Perl ,Tcl,C/C++,ESQL 等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。

缺点

从 Postgres 开始,PostgreSQL 就经受了多次变化。

首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方便方面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,目前,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 PostgreSQL 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。

其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。

准备好yum源,命令:yum install >

postgresql中可以使用pg_dump来备份数据库。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。

用法:

pg_dump [选项] [数据库名字]

一般选项:

-f, --file=FILENAME output file or directory name

-F, --format=c|d|t|p output file format (custom, directory, tar, plain text)

-v, --verbose 详细模式

-Z, --compress=0-9 被压缩格式的压缩级别

--lock-wait-timeout=TIMEOUT 在等待表锁超时后 *** 作失败

--help 显示此帮助信息, 然后退出

--versoin 输出版本信息, 然后退出

示例:

备份数据库,指令如下:

pg_dump -h 1648223354 -U postgres databasename > C:databasenamebak

开始-运行-cmd d出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:

cd C:Program FilesPostgreSQL90bin

最后执行备份指令:

pg_dump -h 1648223354 -U postgres databasename > C:databasenamebak

指令解释:

pg_dump 是备份数据库指令,1648223354是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;

postgres 是数据库的用户名;databasename 是数据库名。

> 意思是导出到C:databasenamebak文件里,如果没有写路径,单单写databasenamebak文件名,那么备份文件会保存在C: Program FilesPostgreSQL90bin 文件夹里。

推荐学习《Python教程》。

 1 安装Linux *** 作系统注意把gdb、Emacs或DDD这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置Linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgreSQL源码能在Linux下面访问到。

2 安装PostgreSQL

useradd postgre

(自动建立 postgre 组;设计人员为了安全考虑,PostgreSQL 不能以root 用户运行,所以必须建立对应的用户和组。)

解压到 /usr/local/src

tar xvfz postgresql-84targz

cd postgresql-84

/configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib

make

make install

chown -R postgrepostgre /usr/local/pgsql

3 设置Postgres环境变量(非必须)

vi ~postgre/bash_profile

添加:

PGLIB=/usr/local/pgsql/lib

PGDATA=$HOME/data

PATH=$PATH:/usr/local/pgsql/bin

MANPATH=$MANPATH:/usr/local/pgsql/man

export PGLIB PGDATA PATH MANPATH

4 建立数据库

以 postgres 用户登录:

su postgre

建立数据库目录:

mkdir data

启动数据库引擎:

initdb –D “数据库目录”

之后可以根据提示,通过psql进入数据库

5 构造PostgreSQL调试环境

先 psql template1进去,然后

select pg_backend_pid();

获得id,就是gdb后面用到的数字

gdb /usr/local/pgsql/bin/postgres 997(pid的数字)

如果只使用gdb,全部是命令行界面;而Emac、DDD分别是彩色、黑白用户交互式图形界面。

6 使用gdb进行调试

PostgreSQL和MySQL比较,它更加庞大一点,因为它是用来替代Oracle而设计的。所以在企业应用中采用PostgreSQL是一个明智的选择。

现在MySQL被Oracle收购之后,有传闻Oracle正在逐步的封闭MySQL,,鉴于此,将来我们也许会选择PostgreSQL而不是MySQL作为项目的后端数据库。

1、驱动

Go实现的支持PostgreSQL的驱动也很多,因为国外很多人在开发中使用了这个数据库。

>

以上就是关于postgresql 创建数据库问题全部的内容,包括:postgresql 创建数据库问题、postgreSQL数据库有什么用啊、centos7怎么进入postgresql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10103520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存