linux查看庫版本
postgres下一些查詢有時候是不同於其他資料庫的。
查詢版本:psql --version
進入資料庫後,使用下面的方法進行查詢。
(1)顯示SQL語句執行時間
\timing on 退出資料庫失效
(2)顯示postgres中所有的表總數(包含資料庫自帶的)
select count(*) from pg_tables;
安裝好資料庫系統自帶為58個。
(3)顯示用戶生成的資料庫列表
\d
(4)顯示某個表列屬性
\d tablename
(5)刪除表中所有數據
delete from tablename --寫入日誌
Truncate Table tablename --不寫入日誌
TRUNCATE TABLE
刪除表中的所有行,而不記錄單個行刪除操作。
語法
TRUNCATE TABLE name
參數
name
是要截斷的表的名稱或要刪除其全部行的表的名稱。
注釋
TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。
DELETE 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日誌中記錄頁的釋放。
TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。
如果要刪除表定義及其數據,請使用 DROP TABLE 語句。
對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日誌中,所以它不能激活觸發器。
TRUNCATE TABLE 不能用於參與了索引視圖的表。
示例
下例刪除 authors 表中的所有數據。
TRUNCATE TABLE authors
(6)顯示當前用戶
\c
(7)顯示當前資料庫所有用戶
\
(8)創建用戶
create user xxx with password 'xxxxxx';
(9)更改用戶密碼
alter user xxx with password 'yyyy';
(10)更改用戶連接
\c database username
(11)更改表名
更改表名稱
alter table smallint rename to integer;
(12)更改列名
更改表列名
alter table integer rename column id to id1;
(13)顯示日期
show datestyle;
(14)設置日期格式
set datestyle=MDY;
(15)列印詳細出錯信息
postgres=# \set VERBOSITY verbose
postgres=#
postgres=#
postgres=# create table (id );
ERROR: syntax error at or near "(" at character 14
STATEMENT: create table (id );
ERROR: 42601: syntax error at or near "("
LINE 1: create table (id );
^
LOCATION: scanner_yyerror, scan.l:1044
(16)更改列屬性
postgres=# alter table a1 alter column id2 set DATA TYPE int;
(17)查看幫助信息
\h alter table
(18)列顯示
\x
(19)創建函數
CREATE OR REPLACE FUNCTION f_value_single()
returns void AS $_$
DECLARE
BEGIN
for i in 1..2000000 loop
insert into abc values(1,'a','a');
end loop;
return;
END;
$_$ language plpgsql;
將表名作為入參
create or replace function count(varchar)
returns bigint
as
selectcount(∗)fromquoteident($1);
language 'sql';
(20)關閉資料庫3種模式
SIGTERM
不再允許新的連接,但是允許所有活躍的會話正常完成他們的工作,只有在所有會話都結束任務後才關閉。這是智能關閉。
SIGINT
不再允許新的連接,向所有活躍伺服器發送 SIGTERM(讓它們立刻退出),然後等待所有子進程退出並關閉資料庫。這是快速關閉。
SIGQUIT
令 postgres 向所有子進程發送 SIGQUIT 並且立即退出(所有子進程也會立即退出),而不會妥善地關閉資料庫系統。這是立即關閉。這樣做會導致下次啟動時的恢復(通過重放 WAL 日誌)。我們推薦只在緊急的時候使用這個方法。
SIGKILL
此選項盡量不要使用,這樣會阻止伺服器清理共享內存和信號燈資源,那樣的話你只能在啟動伺服器之前自己手工做這件事。另外,SIGKILL 直接把 postgres 殺掉,而不會等它把信號中繼給它的子進程,因此我們還需要手工殺掉每個獨立子進程。
⑵ 如何查看linux動態鏈接庫文件的版本等其他信息
ldd <可執行文件名> 查看可執行文件鏈接了哪些
系統動態鏈接庫
nm <可執行文件名>
查看可執行文件裡面有哪些符號
strip <可執行文件名>
去除符號表可以給可執行文件瘦身
如果我們想從可執行程序裡面提取出來一點什麼文本信息的話,還可以用strings命令
strings
<可執行文件名>
Linux操作系統上面的動態共享庫大致分為三類:
1、操作系統級別的共享庫和基礎的系統工具庫
比方說libc.so, libz.so,
libpthread.so等等,這些系統庫會被放在/lib和/usr/lib目錄下面,如果是64位操作系統,還會有/lib64和/usr
/lib64目錄。如果操作系統帶有圖形界面,那麼還會有/usr/X11R6/lib目錄,如果是64位操作系統,還有/usr/X11R6
/lib64目錄。此外還可能有其他特定Linux版本的系統庫目錄。
這些系統庫文件的完整和版本的正確,確保了Linux上面各種程序能夠正常的運行。
2、應用程序級別的系統共享庫
並非操作系統自帶,但是可能被很多應用程序所共享的庫,一般會被放在/usr/local/lib和/usr/local/lib64這兩個目錄下面。很多你自行編譯安裝的程序都會在編譯的時候自動把/usr/local/lib加入gcc的-L參數,而在運行的時候自動到/usr/local
/lib下面去尋找共享庫。
以上兩類的動態共享庫,應用程序會自動尋找到他們,並不需要你額外的設置和擔心。這是為什麼呢?因為以上這些目錄默認就被加入到動態鏈接程序的搜索路徑裡面了。Linux的系統共享庫搜索路徑定義在/etc/ld.so.conf這個配置文件裡面。這個文件的內容格式大致如下:
/usr/X11R6/lib64
/usr/X11R6/lib
/usr/local/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/usr/local/ImageMagick/lib
假設我們自己編譯安裝的ImageMagick圖形庫在/usr/local/ImageMagick目錄下面,並且希望其他應用程序都可以使用
ImageMagick的動態共享庫,那麼我們只需要把/usr/local/ImageMagick/lib目錄加入/etc/ld.so.conf文件裡面,然後執行:ldconfig
命令即可。
ldcofig將搜索以上所有的目錄,為共享庫建立一個緩存文件/etc/ld.so.cache。為了確認ldconfig已經搜索到ImageMagick的庫,我們可以用上面介紹的strings命令從ld.so.cache裡面抽取文本信息來檢查一下:
strings
/etc/ld.so.cache | grep ImageMagick
輸出結果為:
/usr/local/ImageMagick/lib/libWand.so.10
/usr/local/ImageMagick/lib/libWand.so
/usr/local/ImageMagick/lib/libMagick.so.10
/usr/local/ImageMagick/lib/libMagick.so
/usr/local/ImageMagick/lib/libMagick++.so.10
/usr/local/ImageMagick/lib/libMagick++.so
已經成功了!
3、應用程序獨享的動態共享庫
有很多共享庫只被特定的應用程序使用,那麼就沒有必要加入系統庫路徑,以免應用程序的共享庫之間發生版本沖突。因此Linux還可以通過設置環境變數LD_LIBRARY_PATH來臨時指定應用程序的共享庫搜索路徑,就像我們上面舉的那個例子一樣,我們可以在應用程序的啟動腳本裡面預先設置
LD_LIBRARY_PATH,指定本應用程序附加的共享庫搜索路徑,從而讓應用程序找到它。
⑶ linux 怎麼看sqlite動態庫的版本號
一、查看linux內核版本號
1:登錄linux,困前在終端輸入 cat /proc/version
2:登錄linux,在終端輸入 uname -a 即列出linux的內核版本號 。
3: 在Linux終端輸入 unmae -a 即可好畢查看linux的內核版本號。三種方法執行效果如下圖所示:
二、查看linux版本信息
1:登錄到linux伺服器執行 lsb_release-a 命令,即可汪襪清查看所有版本信息。
2:登錄到linux執行 cat /etc/issue (切記cat後要空一格)即可看到版本信息
免費提供最新Linux技術教程書籍,入門自學書籍《linux就該這么學》,為開源技術愛好者努力做得更多更好
⑷ 怎麼查看linux上安裝mysql資料庫
怎麼查看linux上安裝mysql資料庫
方法/步驟
1
查找以前是否安裝有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果顯示有如下包則說明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2
如果已安裝,則需要刪除已安裝的資料庫,使用以下命令來刪除資料庫
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
刪除老版本mysql的開發頭文件和庫
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
下載mysql的rpm包
可以通過wget下載具體的地址因為不能用鏈接請大家去官網去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL伺服器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發依賴包。
下載後放到Liunx伺服器中,如圖所示
安裝MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝過程如圖所示
安裝完成後會生成root用戶的隨機密碼,請使用「cat /root/.mysql_secret」或類似命令進行查看。
安裝MySQL客戶端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
安裝MySQL開發依賴包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
啟動msyql
安裝完成後mysql是沒有啟動的,運行mysql命令會提示如下錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令啟動MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用戶的密碼,參考如下:SET PASSWORD = PASSWORD('root123456');
登錄MySQL
使用mysql命令登錄MySQL伺服器,運行MySQL的命令時,會提示需要設置root用戶密碼
設置開機自啟動
/etc/init.d/mysql start
設置完成後重啟系統,使用natstat –nat命令可看到MySQL的3306埠
至此我們已經安裝好了mysql資料庫,當然現在我們的資料庫還不支持遠程連接,遠程連接會出現以下代碼:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通過以下以下來解決
改表法:在本機登入mysql後,更改「mysql」資料庫里的「user」表裡的「host」項,從」localhost」改為'%'。
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';
⑸ linux怎麼查看oracle版本
linux查看oracle版本步驟如下:
1、首先登陸您的Linux伺服器(本伺服器已經安裝了Oracle)。
⑹ Linux 查看依賴庫
1.查看依賴的庫:
objmp -x xxx.so | grep NEEDED
2.查看可執行程序依賴的庫:
objmp -x 可執行程序名 | grep NEEDED
3.查看缺少的庫:
ldd xxx.so
4.查看庫版本編譯等信息:
strings xxx.so
-L -rpath -rpath-link 添加動態庫路徑
⑺ 怎麼查看linux庫是使用哪個版本的編譯器編譯的
gcc -v 很簡答的一個知識。 所有的linux程序都可以使用這個命令查看版本信息。 以後要是遇到了linux方面的問題, shell編程, linux系統管理問題, 都可以幫到大家。 希望~~