⑴ qt怎麼連接postgresql
一、 在postgresql的安裝文件夾\8.3\data\pg_hba.conf裡面(或者在開始菜單程序下面的postgresql的配置文檔)找到「# IPv4 local connections:」(不包括引號,下同) 在它上面添加「local pgsql all trust」,在它下面的「host all all 127.0.0.1/32 md5」
下面添加一行,內容為「host all all 192.168.91.1/24 md5」
註:127.0.0.1/32和192.168.91.1/24中的32與24,用32表示該IP被固定,用24表示前3位固定, 後面一位可以由自己設,這樣,前3位ip地址與該設定相同的計算機就可以訪問postgresql資料庫。
二、 "PostgreSQL\8.3\data\postgresql.conf文件中,找到「#listen_addresses = 'localhost'」,把它改成「listen_addresses = '*'」。
" 這樣,postgresql就可以監聽所有ip地址的連接。
三、 重啟postgresql服務。如果系統啟用了防火牆,請先關閉。
⑵ postgresql 服務怎麼啟動
到postgresql安裝目錄的bin文件夾下手動啟動pg_ctl—— pg_ctl start -w -D "../data",未果,但是提示說某個文件沒有許可權創建。 解決辦法是將整個postgreSQL安裝目錄附一個Everyone的許可權。
啟動,還是不成功,於是查看data/pg_log目錄下的日誌信息,發現無法創建inherite socket。 解決辦法是運行 netsh winsock reset,然後重啟系統。
⑶ 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語言
⑷ 如何實現Postgresql資料庫的重裝與postgres密碼重置
相信如果你在重新安裝或者升級Postgresql資料庫的時候都需要你輸入在第一次安裝時候的密碼,這個密碼往往我們都會忘記,那麼萬一忘記了該咋辦?難道真就不能安裝了?答案當然是否定的。在項目中,本人就遇到過這樣的情況,一番摸索過後發現終於發現其中的奧秘,首先,Postgresql 安裝時,會往用戶組中添加一個postgresql用戶,而這個用戶就是阻止你密碼驗證不能通過的罪魁禍首,好吧,將其刪除,再試試呢,成功了。別急,有些時候,你在安裝的時候還會報一些錯誤,我同事就遇到此類情況,最後發現Postgresql 還會在當前用戶下記錄一下信息,比如管理工具的默認用戶名和密碼等信息,密碼是不加密的哦!!以我的Win 7 32bit Enterprise version 為例,我的用戶為:Abc_Zhou,則在C:\Users\abc_zhou\AppData\Roaming folder下看到有postgresql,刪掉吧,好了,至此,你將能夠完全安裝成功了。
有時候在不知道密碼的情況下如何能夠使用資料庫呢?當然前提是你知道用戶名。這個是比較糾結的問題,用以上方法重裝?顯然不行,誰能保證我的數據呢。別急,咱們也有辦法,首先,來到資料庫的安裝目錄data文件夾下面,我的是9.0.4 version,路徑為(PostgreSQL\9.0\data),然後找到pg_hba.conf文件,在最下放有一下幾句話:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
好吧,將所有的md5修改稱為trust,重啟資料庫服務,再去界面登錄看看,記住不要輸入密碼哦。當你登錄成功了之後難道想改個密碼還不容易?
Alter user 'postgres' with password '123456';
至此,重新把method改回md5吧,重啟服務,使用剛剛修改的密碼登錄,果斷成功了。
好了,到此基本上完成我們的全部需求了,可是,有時候我們又不想改掉原本的密碼,或許系統中還會有其他軟體使用此用戶呢。好,那還不簡單,重新創建一個用戶不就得了,不錯好方法。但是我要告訴你一個更絕的辦法,就是如果有人在管理工具中登錄並保存過密碼,那你就可以通過以下文件直接找出密碼:C:\AllUsers\abc_zhou\AppData\postgresql 中的pgpass.conf 文件(機器環境同上),記事本打開就ok了,是不是可以看到密碼了,就是這么簡單。
⑸ linux怎麼用命令登陸postgres
(1)用戶實用程序:
createdb 創建一個新的PostgreSQL的資料庫(和SQL語句:CREATE DATABASE 相同)
createuser 創建一個新的PostgreSQL的用戶(和SQL語句:CREATE USER 相同)
dropdb 刪除資料庫
dropuser 刪除用戶
pg_mp 將PostgreSQL資料庫導出到一個腳本文件
pg_mpall 將所有的PostgreSQL資料庫導出到一個腳本文件
pg_restore 從一個由pg_mp或pg_mpall程序導出的腳本文件中恢復PostgreSQL資料庫
psql 一個基於命令行的PostgreSQL互動式客戶端程序
vacuumdb 清理和分析一個PostgreSQL資料庫,它是客戶端程序psql環境下SQL語句VACUUM的shell腳本封裝,二者功能完全相同
(2)系統實用程序
initdb 創建一個用於存儲資料庫的PostgreSQL數據目錄,並創建預定義的模板資料庫template0和template1,生成共享目錄表 catalog;此程序通常只在安裝PostgreSQL時運行一次
initlocation 創建一個輔助的PostgreSQL資料庫存儲區域
ipcclean 從停止的PostgreSQL伺服器中清除共享內在和孤立信號標志
pg_ctl 啟動、停止、重啟PostgreSQL服務(比如:pg_ctl start 啟動PostgreSQL服務,它和service postgresql start相同)
pg_controldata 顯示PostgreSQL服務的內部控制信息
postgres PostgreSQL單用戶模式的資料庫服務
postmaster PostgreSQL多用戶模式的資料庫服務
4.這裡面最重要的是psql這個客戶端程序最為重要。啟用客戶端程序psql的方法是:
切換到PostgreSQL預定義的資料庫超級用戶postgres,啟用客戶端程序psql,並連接到自己想要的資料庫,比如說:
psql template1
出現以下界面,說明已經進入到想要的資料庫,可以進行想要的操作了。
template1=#
5.在資料庫中的一些命令:
template1=# \l 查看系統中現存的資料庫
template1=# \q 退出客戶端程序psql
template1=# \c 從一個資料庫中轉到另一個資料庫中,如template1=# \c sales 從template1轉到sales
template1=# \dt 查看錶
template1=# \d 查看錶結構
template1=# \di 查看索引
[基本資料庫操作]========================
*創建資料庫:
create database [資料庫名];
*查看資料庫列表:
\d
*刪除資料庫:
drop database [資料庫名];
創建表:
create table ([欄位名1] [類型1] <references 關聯表名(關聯的欄位名)>;,[欄位名2] [類型2],......<,primary key (欄位名m,欄位名n,...)>;);
*查看錶名列表:
\d
*查看某個表的狀況:
\d [表名]
*重命名一個表:
alter table [表名A] rename to [表名B];
*刪除一個表:
drop table [表名];
========================================
[表內基本操作]==========================
*在已有的表裡添加欄位:
alter table [表名] add column [欄位名] [類型];
*刪除表中的欄位:
alter table [表名] drop column [欄位名];
*重命名一個欄位:
alter table [表名] rename column [欄位名A] to [欄位名B];
*給一個欄位設置預設值:
alter table [表名] alter column [欄位名] set default [新的默認值];
*去除預設值:
alter table [表名] alter column [欄位名] drop default;
在表中插入數據:
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的數據:
update [表名] set [目標欄位名]=[目標值] where [該行特徵];
刪除表中某行數據:
delete from [表名] where [該行特徵];
delete from [表名];--刪空整個表
6.要注意隨時對資料庫進行清理、收回磁碟空間並更新統計信息,使用下面的命令就搞定!
vaccumdb -d sales -z
-a 對所有的資料庫操作
-z 保證不斷地刪除失效的行,節約磁碟空間,將統計信息更新為最近的狀態
7.PostgreSQL用戶認證
PostgreSQL數據目錄中的pg_hba.conf的作用就是用戶認證,可以在/var/lib/pgsql/data中找到。
有以下幾個例子可以看看:
(1)允許在本機上的任何身份連接任何資料庫
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all trust(無條件進行連接)
(2)允許IP地址為192.168.1.x的任何主機與資料庫sales連接
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
host sales all 192.168.1.0 255.255.255.0 ident sameuser(表明任何操作系統用戶都能夠以同名資料庫用戶進行連接)
8.看了那麼多,來一個完整的創建PostgreSQL資料庫用戶的示例吧
(1)進入PostgreSQL高級用戶
(2)啟用客戶端程序,並進入template1資料庫
psql template1
(3)創建用戶
template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen'
(4)因為設置了密碼,所以要編輯pg_hba.conf,使用戶和配置文件同步。
在原有記錄上面添加md5
local all hellen md5
(4)使用新用戶登錄資料庫
template1=# \q
psql -U hellen -d template1
PS:在一個資料庫中如果要切換用戶,要使用如下命令:
template1=# \!psql -U tk -d template1
9.設定用戶特定的許可權
還是要用例子來說明:
創建一個用戶組:
sales=# CREATE GROUP sale;
添加幾個用戶進入該組
sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3;
授予用戶級sale針對表employee和procts的SELECT許可權
sales=# GRANT SELECT ON employee,procts TO GROUP sale;
在sale中將用戶user2刪除
sales=# ALTER GROP sale DROP USER sale2;
10.備份資料庫
可以使用pg_mp和pg_mpall來完成。比如備份sales資料庫:
pg_mp sales>/home/tk/pgsql/backup/1.bak
⑹ 如何重啟資料庫postgresql
不行的。pgadmin只提供了本地庫的重啟操作服務。
遠程的,還是要通過ssh命令操作了。
⑺ PostgreSQL 連接的問題
一、
在postgresql的安裝文件夾\8.3\data\pg_hba.conf裡面(或者在開始菜單程序下面的postgresql的配置文檔)
找到「# IPv4 local connections:」(不包括引號,下同)
在它上面添加「local pgsql all trust」,
在它下面的「host all all 127.0.0.1/32 md5」
下面添加一行,內容為「host all all 192.168.91.1/24 md5」
註:127.0.0.1/32和192.168.91.1/24中的32與24,用32表示該IP被固定,用24表示前3位固定,
後面一位可以由自己設,這樣,前3位ip地址與該設定相同的計算機就可以訪問postgresql資料庫。
二、
"PostgreSQL\8.3\data\postgresql.conf文件中,找到「#listen_addresses = 'localhost'」,把它改成「listen_addresses = '*'」。
"
這樣,postgresql就可以監聽所有ip地址的連接。
三、 重啟postgresql服務。如果系統啟用了防火牆,請先關閉。
對了,如果要使用pgadmin連接遠程的資料庫伺服器,須在SSL的選項中選擇允許。
⑻ mac 啟動postgresql 忘記密碼怎麼辦
1、關閉資料庫服務
2、進入資料庫的工作空間目錄 (如果是建庫是沒有另外指定,應該就是postgresql安裝目錄下的 data 目錄)
3、編輯修改文件 pg_hba.conf, 把連接許可權設置的 md5 加密方式 改成 trust以我的為例,原本設置是
1
2
3
4
# TYPE DATABASE USER CIDR-ADDRESS <a href="https://www..com/s?wd=METHOD&tn=44039180_cpr&fenlei=-CEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-"target="_blank" class="-highlight">METHOD</a>
# IPv4 local connections:
host all all 127.0.0.1/32 md5
修改為
1
2
3
4
# TYPE DATABASE USER CIDR-ADDRESS <a href="https://www..com/s?wd=METHOD&tn=44039180_cpr&fenlei=-CEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-"target="_blank" class="-highlight">METHOD</a>
# IPv4 local connections:
host all all 127.0.0.1/32 trust
4、從新啟動postgresql資料庫服務
5、可以不用密碼就能用postgres用戶登陸,然後執行修改用戶密碼的操作
6、修改 pg_hba.conf 文件,改回到 md5 方式,再重啟資料庫服務就ok了
7、再執行建用戶,和建庫操作
createuser.exe -s -P foo -U postgres
createdb.exe --encoding=UTF8 --owner=foo --template=template_postgis -Ufoo
參數:
--encoding=UTF8 設置資料庫的字元集
--owner=foo 設置資料庫的所有者
--tmplate=template_postgis 設置建庫的模板,該模板支持空間數據操作
--Ufoo 用foo用戶身份建立資料庫