Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
Listar schemas y tablas dentro de un schema en Postgres


Un servidor de bases de datos PostgreSQL puede contener una o más bases de datos. Los usuarios y grupos se comparten entre todas las bases de datos. Un cliente que inicia una conexión con un servidor Postgres puede acceder a los datos de una única base de datos al mismo tiempo, aquella especificada durante la conexión. No necesariamente los usuarios puede acceder a cualquier base de datos, sino que pueden acceder sólo a aquellas en las cuales tengan permiso.

En Postgres, una base de datos contiene uno o más schemas, los cuales contienen tablas. Pero también pueden contener otros tipos de objetos como tipos de datos, funciones y operadores. Los nombres se pueden repetir entre schemas, por ejemplo dos schemas diferentes pueden contener cada uno su propia tabla llamada "usuario". Pero a diferencia de las bases de datos, los schemas no están separados de manera rígida: un usuario puede acceder a objetos pertenecientes a cualquiera de los schemas de la base de datos a la cual están conectados (siempre que tengan privilegios suficientes para hacerlo).

Los schemas se utilizan generalmente para que diferentes usuarios puedan utilizar una misma base de datos sin interferir entre ellos; para organizar los objetos de una base de datos en grupos lógicos que permitan mejorar su administración; para evitar conflictos de nombre con aplicaciones de terceros (poniéndolas en schemas separados); etc.

Haciendo una analogía con un sistema operativo, los schemas son como los directorios de un sistema de archivos, con la diferencia de que los schemas no pueden ser anidados (no se permite un schema dentro de otro).

Habiendo explicado someramente qué es un schema, veamos cómo listar los schemas de una base de datos y cómo listar todas las tablas de un schema en particular.
Luego de conectarme a la base de datos "db1", al intentar listar las tablas de la base de datos, se observa que no hay relaciones.

postgres=# \c db1
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: on)
You are now connected to database "db1" as user "postgres".
db1=#  \dt
No relations found.
¿Cómo puede ser? La base de datos tiene tablas. Ocurre que están organizadas en diferentes schemas. Para listar los schemas se puede utilizar la siguiente consulta SQL:

select nspname from pg_catalog.pg_namespace;
Veamos el resultado:

db1=# select nspname from pg_catalog.pg_namespace;
       nspname
----------------------
 pg_toast
 pg_temp_1
 pg_toast_temp_1
 pg_catalog
 public
 information_schema
 pg_temp_4
 pg_toast_temp_4
 pg_temp_3
 pg_toast_temp_3
 pg_temp_7
 pg_toast_temp_7
 app1
 pg_temp_6
 pg_toast_temp_6
 pg_temp_2
 pg_toast_temp_2
 pg_temp_5
 app2-devel
 pg_toast_temp_5
 pg_temp_8
 app2-prod
 pg_toast_temp_8
 pg_temp_10
 pg_toast_temp_10
 pg_temp_11
 pg_toast_temp_11
 pg_temp_9
 pg_toast_temp_9
 app2v2-test
 pg_temp_14
 pg_toast_temp_14
 test
 pg_temp_15
 pg_toast_temp_15
 pg_temp_16
 pg_toast_temp_16
 pg_temp_17
 pg_toast_temp_17
 pg_temp_18
 pg_toast_temp_18
 app3
 app3_2
 prod
(44 rows)

La base de datos contiene 44 schemas, algunos se incluyen por defecto, como information_schema (schema que contiene información sobre la base de datos) y public (schema por defecto para crear nuevas tablas).
Si se desea listar las tablas dentro de un schema, se debe especificar el mismo como parámetro al comando \dt, terminado con un punto. Por ejemplo, el schema "app1" contiene las siguientes tablas:

db1=# \dt app1.
                List of relations
 Schema |        Name         | Type  |  Owner   
--------+---------------------+-------+----------
  app1  | app1_group          | table | postgres
  app1  | app1_log            | table | postgres
  app1  | app1_message        | table | postgres
  app1  | app1_message_status | table | postgres
  app1  | app1_user           | table | postgres
  app1  | app1_user_group     | table | postgres
(6 rows)

Otra forma de listar las tablas de un schema consiste en alterar la variable search_path (la cual es utilizada por Postgres para buscar tablas por nombre) de forma que busque primero las tablas dentro de un schema específico. Por ejemplo, para cambiar al schema "app1", ponerlo en la primera posición del search_path:
db1=# SET search_path = app1, pg_catalog, public;
SET
De esta forma, al utilizar el comando \dtsólo se listan las relaciones dentro del schema "app1":
db1=# \dt
                List of relations
 Schema |        Name         | Type  |  Owner   
--------+---------------------+-------+----------
  app1  | app1_group          | table | postgres
  app1  | app1_log            | table | postgres
  app1  | app1_message        | table | postgres
  app1  | app1_message_status | table | postgres
  app1  | app1_user           | table | postgres
  app1  | app1_user_group     | table | postgres
(6 rows)

Es posible consultar cuáles son los schemas en el search_path actual a través de las funciones current_schema y current_schemas():
db1=# select current_schema;
 current_schema 
----------------
 app1
(1 row)

La función current_schemas() requiere un parámetro booleano (true o false) que indica si se deben mostrar los schemas implícitos en la salida:
db1=# select current_schemas(true);
       current_schemas       
-----------------------------
 {app1,pg_catalog,public}
(1 row)

Referencias

Fuente: 
  • https://www.linuxito.com

.

15dias (4) agenda 2023 (1) Algo que leer (269) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Astro (1) Banner (1) Base de datos (38) Batalla Cultural (5) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (3) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (4) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (10) cosmo (2) Criptomonedas (3) Cultura (1) Cursos (16) Darkweeb (3) Data Mining (1) Debian (18) Deep Learning (2) DeepWeb (7) demografia (9) Deporte y Recreación (9) Deportes (10) desclasificados (8) Desktop (1) developers (1) DevOps (1) Docker (12) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Empleos (1) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Fisica (1) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) Flutter (1) framework (3) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (2) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (22) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (58) java eclipse (4) javaScript (9) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (39) kernel (2) Kotlin (1) Laravel (2) Latin (1) lecturas (2) LIbreOffice (1) Libros (4) Linux (49) Linux VirtualBox (1) Literatura (1) Machine Learning (2) Manuales (42) mariaDB (2) Markdown (4) Marketing (1) Matando ladilla (9) Matematicas (3) Matematricas (1) Math (1) maven (1) metodos https (1) MkUltra (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (22) MySQL Workbench (1) Nagios (2) Naturismo (1) NextJS (2) node (5) Node.js (6) NodeJS (10) NoSQL (1) npm (1) Oracle (11) Oracle sql (10) Php (4) PL/SQL (2) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (5) Política (1) Postgresql (14) PowerShell (1) programacion (88) Psicologia (11) Python (7) React (4) Recomiendo (1) Redes (31) Redis (2) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (18) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (12) SQL (4) SQL en postgreSQL (44) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Tensorflow (4) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by

Moleculax es un blog de ciencia, biología, astronomía, tecnología y reflexiones sobre el futuro de la humanidad. Explora ideas innovadoras, descubrimientos científicos y conocimientos que inspiran la curiosidad y la imaginación. ¿Cómo saber si te han bloqueado en WhatsApp?, ¿COMO PROGRAMAR?, דודו פארוק, ¿QUES ES estructurada,modular, MongoDBSpain CheetSheet, ORIENTADA A OBJETOS?, Bases de datos estáticas, base de datos dinamicas bases de datos nosql, estructuras de base de datos, Bases de datos de texto completo, base de datos gerarquicas HTML, CSS, XML, JavaScript, mysql, oracle, postgresql, C, C#, php, java, python, liderazgo, libros, books, informix, ¿COMO REPARAR PAQUETES ROTOS EN DEBIAN?, REPARAR paquetes ROTOS ubuntu gerencia, COMO APRENDER laravel, ACTIVAR wifi en CANAIMA, exotics, exoticas, COMO APRENDER MONGODB, agapornio, agapomis, seguros, ganar dinero, bitcoin, freeBitcoin invertir en bolsa, marketing online, ofertas de coches Описание Блога Moleculax Moleculax — это цифровое эссе, в котором структурированное мышление встречается с глубокой интроспекцией. Наш блог исследует архитектуру знаний: от технических тонкостей разработки программного обеспечения до этических основ и философии. Ключевые Темы: Разработка и Технологии: Программирование, базы данных (SQL, NoSQL), Big Data, Node.js, Java. Наука и Мышление: Астрономия, биология, научные открытия, а также такие философские направления, как Стоицизм. Этика и Будущее: Размышления о развитии человечества, моральные принципы в технологиях и этические вызовы. Наша миссия: Развивать интеллект, который не только решает проблемы, но и предотвращает их с мудростью. Moleculax 是一个关于科学、生物学、天文学、技术以及人类未来思考的博客。它探索创新的理念、科学发现和能够激发好奇心与想象力的知识。 如何知道你在 WhatsApp 上被拉黑?如何编程? דודו פארוק,什么是结构化、模块化、面向对象?MongoDBSpain 速查表,静态数据库、动态数据库、NoSQL 数据库、数据库结构、全文数据库、层次型数据库。 HTML、CSS、XML、JavaScript、MySQL、Oracle、PostgreSQL、C、C#、PHP、Java、Python,领导力、书籍、Informix。如何修复 Debian 中损坏的软件包?修复 Ubuntu 损坏的软件包,管理,如何学习 Laravel,如何在 Canaima 激活 WiFi,异域、奇异,如何学习 MongoDB,爱情鸟、保险、赚钱、比特币、FreeBitcoin、投资股票市场、网络营销、汽车优惠。 Moleculax 博客描述: Moleculax 是一篇数字随笔,在这里结构化的思维与深刻的自省相遇。我们的博客探索知识的架构:从软件开发的技术细节到伦理基础与哲学。 核心主题: - 开发与技术:编程、数据库(SQL、NoSQL)、大数据、Node.js、Java。 - 科学与思维:天文学、生物学、科学发现,以及诸如斯多葛主义等哲学流派。 - 伦理与未来:关于人类发展的思考、技术中的道德原则与伦理挑战。 我们的使命:培养一种不仅能解决问题,而且能以智慧预防问题的智能。