当前位置:首页 » 数据仓库 » 操作postgre数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

操作postgre数据库

发布时间: 2023-01-03 02:01:34

Ⅰ Postgresql数据库如何新建登录用户

我们使用Postgresql数据库的时候,默认都是用postgres用户进行数据操作。但是有时为了数据安全,我们会另外建一些账号给相关的工作人员使用。那么Postgresql数据库中如何新建登录用户呢?下面我给大家分享一下。

工具/材料

pgAdmin4

  • 01

    首先打开Postgresql的管理工具pgAdmin4,接着双击服务器名称,如下图所示

  • 02

    在弹出的Connect to Server界面中输入postgres用户的密码,然后点击OK按钮,如下图所示

  • 03

    进入到数据库以后右键单击"登录/组角色"选项,选择Create下面的Login/Group Role选项,如下图所示

  • 04

    接下来会弹出创建登录用户的界面,我们先给用户起一个名字,尽量是英文,如下图所示

  • 05

    然后切换到Definition页卡,给登录用户设置一个登录密码,如下图所示,注意Connection limit要设置为-1

  • 06

    接着切换到Privileges界面,这里需要给登录用户设置一下操作权限,大家可以根据自己的需要设置即可,如下图所示

  • 07

    接下来切换到Membership页卡,给登录用户设置一个角色,这里我直接把管理员的角色给它了,如下图所示

  • 08

    上述设置完毕以后回到数据库主界面,我们就可以看到"登录/组角色"下面就已经有我们新建的登录用户了,如下图所示

  • 09

    最后我们断开当前的连接,用新建的用户进行登录,如果登录正常的话则代表一切设置成功,如下图所示

Ⅱ postgresql如何备份数据库

postgresql中可以使用pg_mp来备份数据库。pg_mp是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问
用法:
pg_mp [选项]... [数据库名字]
一般选项:
-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_mp -h 164.82.233.54 -U postgres databasename > C:databasename.bak

开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:
cd C:Program FilesPostgreSQL9.0bin
最后执行备份指令:
pg_mp -h 164.82.233.54 -U postgres databasename > C:databasename.bak

指令解释:
pg_mp 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;
postgres 是数据库的用户名;databasename 是数据库名。
> 意思是导出到C:databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: Program FilesPostgreSQL9.0bin 文件夹里。
推荐学习《Python教程》。

Ⅲ 怎么在windows上连接postgres

1、windows下postgresql的安装
我下载的为xxx9.2.exe一路默认安装即可。安装位置为C:\Program Files\PostgreSQL。
安装完毕后,在dos下执行命令
>net user
列出当前系统用户名称。我的用户名为Administrator。
>psql –U Administrator –d postgres
该命令表示通过数据库用户Administrator连接数据库postgres。
l 若显示psql不是内部或外部命令,则说明postgresql的bin文件路径没添加到windows系统中,右击“我的电脑”->”属性”->”高级”->”环境变量”->”Administrator”的用户变量,选中“PATH”,点击编辑,将”C:\Program Files\PostgreSQL\9.2\bin”添加进去,注意与前面的路径用”;”隔开。电脑重启生效。
l 若显示角色Administrator不存在,则必须在postgresql数据库中添加该用户才能使其可以登录。
在postgresql中
查询系统用户
postgres=#select* from pg_user;
查询系统中的数据库
postgres=#select* from pg_database;
说明一下:“template1”是Postgresql在初始化时自动创建的测试数据库。

创建postgresql数据库Administrator用户
方式1

在PostgreSQL中创建用户postgreSQL用户Administrator

用SQL Shell(psql)通过用户postgres登录PostgreSQL,创建用户Administrator,
postgres=#create user “Administrator”;
方式2

通过windows下dos创建postgresql用户Administrator

将PostgreSQL文件夹bin路径添加到系统环境中后重启生效.
通过windows下dos创建postgresql用户是区分大小写的。

配置客户机访问
为了配置远程主机和用户可以连接到PostgreSQL服务,你需要pg_hba.conf文件。文件包含大量注释记录用于远程访问的选项。在我们的安装示例中,我们允许局域网中任何主机的任何用户访问服务器上的数据库。为了达到这个目的,我们添加以下的一行记录到文件尾:
host all all 192.168.0.0/16 trust
这意味着所有IP地址由192.168开始的计算机可以访问所有的数据库。最简单的使配置生效的方法就是重启服务器。
在dos下操作,通过createuser –Uolser –P newuser来创建。
比如我们想创建postgresql数据库用户Administrator。
>createuser –U postgre –P Administrator
这样创建的数据库用户Administrator没有创建数据库的权利,可以通过pgAdmin III登录进行查看。
若使其可以创建数据库可以参照下面内容进行设置:
>createuser –U postgre –s Administrator
这样具有创建数据库能力。

createuser的用法可以通过在dos中输入createuser –help查看。
MicrosoftWindows XP [版本 5.1.2600]
(C)版权所有 1985-2001 Microsoft Corp.

C:\Documentsand Settings\Administrator>createuser --help
createuser创建一个新的 PostgreSQL 用户.

使用方法:
createuser [选项]... [用户名]

选项:
-c, --connection-limit=N 角色的连接限制(缺省: 没有限制)
-d, --createdb 此角色可以创建新数据库
-D, --no-createdb 此角色不可以创建新数据库(默认)
-e, --echo 显示发送到服务端的命令
-E, --encrypted 口令加密存储
-i, --inherit 角色能够继承它所属角色的权限
(这是缺省情况)
-I, --no-inherit 角色不继承权限
-l, --login 角色能够登录(这是缺省情况)
-L, --no-login 角色不能登录
-N, --unencrypted 口令不加密存储
-P, --pwprompt 给新角色指定口令
-r, --createrole 这个角色可以创建新的角色
-R, --no-createrole 这个角色没有创建其它角色的权限(默认)
-s, --superuser 角色将是超级用户
-S, --no-superuser 角色不能是超级用户(默认)
-V, --version 输出版本信息, 然后退出
--interactive 提示缺少角色名及其属性
而不是使用默认值
--replication 角色能启动复制
--no-replication 角色不能启动复制
-?, --help 显示此帮助, 然后退出

联接选项:
-h, --host=HOSTNAM 数据库服务器所在机器的主机名或套接字目录
-p, --port=PORT 数据库服务器端口号
-U, --username=USERNAME 联接用户 (不是要创建的用户名)
-w, -no-password 永远不提示输入口令
-W, --password 强制提示输入口令

臭虫报告至<[email protected]>.

C:\Documentsand Settings\Administrator>

方式3

在C:\Program Files\PostgreSQL\9.2\bin文件夹下有可执行文件createuser.exe,我双击后,该文件执行一闪就关闭,只好在dos中输入cmd打开窗口,将该文件拖入窗口中,在输入“ –U postgres –P Adiminisrator”然后回车,如下图所示,即可创建数据库用户Administrator。但此时该用户不具有创建database的能力,可以通过pgAdmin III查看。

psql的用法可以通过在dos下输入psql –help查看,如下图所示。
MicrosoftWindows XP [版本 5.1.2600]
(C) 版权所有1985-2001 Microsoft Corp.

C:\Documentsand Settings\Administrator>psql --help
psql是PostgreSQL 的交互式客户端工具。
使用方法:
psql [选项]... [数据库名称 [用户名称]]
通用选项:
-c,--command=命令 执行单一命令(SQL或内部指令)然后结束
-d, --dbname=数据库名称 指定要连接的数据库 (缺省:"Administrator")
-f, --file=文件名 从文件中执行命令然后退出
-l, --list 列出所有可用的数据库,然后退出
-v, --set=, --variable=名称=值
为psql变量(名称)设定值
-V, --version 输出版本信息, 然后退出
-X, --no-psqlrc 不读取启动文档(~/.psqlrc)
-1 ("one"), --single-transaction
作为一个单一事务来执行命令文件
-?, --help 显示此帮助, 然后退出

输入和输出选项:
-a, --echo-all 显示所有来自于脚本的输入
-e, --echo-queries 显示发送给服务器的命令
-E, --echo-hidden 显示内部命令产生的查询
-L, --log-file=文件名 将会话日志写入文件
-n, --no-readline 禁用增强命令行编辑功能(readline)
-o, --output=FILENAME 将查询结果写入文件(或 |管道)
-q, --quiet 以沉默模式运行(不显示消息,只有查询结果)
-s, --single-step 单步模式 (确认每个查询)
-S, --single-line 单行模式 (一行就是一条 SQL 命令)

输出格式选项 :
-A, --no-align 使用非对齐表格输出模式
-F, --field-separator=字符串
设字段分隔符(缺省:"|")
-H, --html HTML 表格输出模式
-P, --pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令)
-R, --record-separator=字符串
设定记录分隔符(缺省:换行符号)
-t, --tuples-only 只打印记录i
-T, --table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界)
-x, --expanded 打开扩展表格输出
-z, --field-separator-zero
设置字段分隔符为字节0
-0, --record-separator-zero
设置记录分隔符为字节0

联接选项:
-h, --host=主机名 数据库服务器主机或socket目录(缺省:"本地接口")
-p, --port=端口 数据库服务器的端口(缺省:"5432")
-U, --username=用户名 指定数据库用户名(缺省:"Administrator")
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)

更多信息,请在psql中输入"\?"(用于内部指令)或者"\help"(用于SQL命令),
或者参考PostgreSQL文档中的psql章节.

臭虫报告至<[email protected]>.

C:\Documentsand Settings\Administrator>

Ⅳ centos7怎么进入postgresql数据库

准备好yum源,命令:yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
yum install postgresql94-server postgresql94-contrib

设置开机启动,并启动服务
systemctl enable postgresql-9.4.service

初始化数据库/usr/pgsql-9.4/bin/postgresql94-setup initdb 然后,
启动数据库:systemctl start postgresql-9.4.service

查看进程是否正常启动,开启远程访问

修改用户密码,用命令su到用户上,如下图

将postgresq加入防火墙,新建文件/usr/lib/firewalld/services/postgresql.xml如下图操作:

重启服务systemctl restart postgresql-9.4.service,进行基本的数据库操作,就是使用一般的SQL语言

Ⅳ C# 操作PostgreSQL数据库时的问题。

程序不是假死,是卡在那了,稍等应该就会出现错误提示,如果要解决的话,插入前检查一下主键是否存在就知道了。或者postgresql本身也有如果存在就更新,否则就插入的语法,例如

INSERTINTOUM_CUSTOMER(customercode,CompanyFlag,InputTime,LocalVersion)
VALUES('201801010001','0','2017-02-2212:00:00',1)
ONconflict(customercode)
DOUPDATESETCompanyFlag='1',InputTime='2017-02-2212:00:00',LocalVersion=1

Ⅵ 关于postgre数据库问题,求大神解答

处理办法如下:
先连上postgres数据库,然后执行以下操作:
begin;
set transaction read write;
alter database xxx;
set default_transaction_read_only = off;
commit;

Ⅶ postgresql是什么数据库

postgresql是功能强大的开源数据库。

postgresql数据库是功能强大的开源数据库,它支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型。

PostgreSQL数据库提供了丰富的接口,可以很方便地扩展它的功能,如可以在GiST框架下实现自己的索引类型,支持使用C语言写自定义函数、触发器,也支持使用流行的编程语言写自定义函数。

PostgreSQL数据库优点

1、对超许可数量软件使用的天然免疫力

对一些商业性质的数据库销售商来说,超许可数量的软件使用是第一位的问题。而使用PostgreSQL,因为没有任何授权的费用是,也就没有任何人可以起诉您违反授权协议违规使用软件。

2、比商业服务商更好的支持

除了有一般商业公司的支持外,我们还有由PostgreSQL专业人员和热心的爱好者组成的各种社区,用户可以向他们寻求支持和帮助。

3、员工成本的显着降低

相对于市场上大型的商业私有数据库软件,我们的系统在设计和开发时已考虑仅需少量的维护和优化,同时仍保持所有功能正常、稳定和性能正常。不仅如此,我们的培训过程相对于那些商业私有数据库供应商来说,总体来说有更好的性价比、更容易管理和更接近真实的使用场景。

4、享有盛名的可靠性和稳定性

与很多商业私有数据库不一样的是,对很多公司特别常见的是,PostgreSQL在几年的运行过程中几乎未出现哪怕是一次的宕机情况,即使是一次,它就是这样稳定地工作着。

5、扩展性

所有PostgreSQL的源代码对所有人都是可以免费获得的。如果您的公司员工需要定制或是给PostgreSQL增加一些功能,他们只需做很少的改动工作,也没有额外的成本。全球PostgreSQL社区的专业人员和热心的爱好者也在积极地扩展PostgreSQL的功能。

Ⅷ 怎样用postgresql建表,建数据库

PostgreSQL的CREATE TABLE语句是用来在任何指定的的数据库中创建一个新表。 yii.com
语法
CREATE TABLE语句的基本语法如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);

CREATE TABLE是告诉数据库系统关键字,创建一个新的表。独特的名称或标识如下表CREATE TABLE语句。当前数据库中的表最初是空的,并且将所拥有的用户发出的命令。

然后在括号内来定义每一列的列表,在表中是什么样的数据类型。其语法变得更清晰,下面的例子。

实例
下面是一个例子,它创建了一个公司ID作为主键的表和NOT NULL的约束显示这些字段不能为NULL,同时创建该表的记录:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

让我们创建一个表,在随后的章节中,我们将在练习中使用:

CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);

可以验证已成功创建使用\d命令,将用于列出了附加的数据库中的所有表。
testdb-# \d

以上PostgreSQL的表会产生以下结果:

List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)

使用\d表名来描述每个表如下所示:
testdb-# \d company

以上PostgreSQL的表会产生以下结果:

Table "public.company"
Column | Type | Modifiers
-----------+---------------+-----------
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
join_date | date |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)

Ⅸ 使用docker compose部署postgreSQL数据库

注:启动时可能会出现权限问题,所以添加了 privileged: true

在docker-compose的时候 docker-compose up会优先使用已有的容器,而不是重新创建容器。需要带上 --force-recreate 参数重新创建容器 docker-compose up -d --force-recreate 。

本文内容参考:
https://blog.csdn.net/sinat_20560415/article/details/81204445

注:当有多个schema(模式)时,可以设置postgresql.conf改变默认的search_path,否则需要每次登陆时设置search_path以访问不同模式下面的对象;