0
我是postgres的新手。在mysql中,我們可以通過觸發下面的查詢來檢查數據庫是否處於只讀模式。Postgres Query查詢數據庫是否爲只讀模式
SELECT @@ global.read_only
同樣任何人都可以請幫我查詢做同樣在Postgres的?我嘗試了一些像下面這樣的東西
SELECT schemaname||'.'||tablename FROM pg_tables
WHERE
has_table_privilege ('postgres', schemaname||'.'||tablename, 'select')
AND schemaname NOT IN ('pg_catalog','information_schema');
但它是像下面列出,我不指望。
?column?
----------------------------------------
public.schema_migrations
public.credential_methods
public.notifications
public.site_defaults
public.apis
public.client_applications
public.api_groups
public.operations
public.client_application_labels
public.client_application_label_values
public.roles
public.users
public.sdm_user_roles
public.permissions_roles
public.keys
public.o_two_access_tokens
public.settings
public.sdm_users
public.permissions
public.audits
public.oauth_requesttokens
public.oauth_access_tokens
public.oauth_verifiers
public.logged_exceptions
public.api_call_details
public.api_access_roles
public.api_access_users
public.login_attempts
public.system_scopes
public.keys_system_scopes
public.o_two_auth_codes
public.o_two_refresh_tokens
public.service_profiles
public.error_traces
我也試過「\杜」,但這只是在終端工作,但不是從一個紅寶石文件。
query=ActiveRecord::Base.connection.execute("\du;")
的ActiveRecord :: StatementInvalid:PGError:錯誤:在或接近 「嘟」 語法錯誤 LINE 1:杜;
感謝, Rafiu
反斜槓命令(如'\ du')不是SQL的一部分,但是是psql命令行前端的終端監視器命令。對於你原來的問題:我不知道答案。試着插入或更新,並處理錯誤。 – wildplasser 2012-02-14 10:32:49
@ wildplasser:謝謝.. – Rafiu 2012-02-14 10:46:41
我不認爲PostgreSQL中有一個「只讀」數據庫概念。另外:*但它列出了我不期待的東西*。所以你應該告訴我們你得到的**和**你的期望。 – 2012-02-14 10:54:55